Gentoo Archives: gentoo-commits

From: Nicolas Bock <nicolasbock@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-client/mutt/
Date: Sun, 10 Dec 2017 13:46:24
Message-Id: 1512913556.b92b1c6b2c267748be8c748ebcf9ff9a6ec456b5.nicolasbock@gentoo
1 commit: b92b1c6b2c267748be8c748ebcf9ff9a6ec456b5
2 Author: Nicolas Bock <nicolasbock <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 10 13:45:56 2017 +0000
4 Commit: Nicolas Bock <nicolasbock <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 10 13:45:56 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b92b1c6b
7
8 mail-client/mutt: Update USE flag descriptions
9
10 The crypto related USE flags are named and described somewhat
11 confusingly. This change updates the crypto related USE flags and adds
12 some more consistent descriptions. This change brings those USE flags in
13 sync with the neomutt package.
14
15 Closes: https://bugs.gentoo.org/637178
16 Package-Manager: Portage-2.3.13, Repoman-2.3.3
17
18 mail-client/mutt/metadata.xml | 67 +++++----
19 mail-client/mutt/mutt-1.9.1-r3.ebuild | 264 ++++++++++++++++++++++++++++++++++
20 2 files changed, 301 insertions(+), 30 deletions(-)
21
22 diff --git a/mail-client/mutt/metadata.xml b/mail-client/mutt/metadata.xml
23 index 75c5b94f614..217549fa2db 100644
24 --- a/mail-client/mutt/metadata.xml
25 +++ b/mail-client/mutt/metadata.xml
26 @@ -1,34 +1,41 @@
27 <?xml version="1.0" encoding="UTF-8"?>
28 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
29 <pkgmetadata>
30 - <maintainer type="person">
31 - <email>grobian@g.o</email>
32 - </maintainer>
33 - <maintainer type="project">
34 - <email>net-mail@g.o</email>
35 - <name>Net-Mail</name>
36 - </maintainer>
37 - <use>
38 - <flag name="berkdb">Enable <pkg>sys-libs/db</pkg> database backend
39 - for header caching</flag>
40 - <flag name="gdbm">Enable <pkg>sys-libs/gdbm</pkg> database backend
41 - for header caching</flag>
42 - <flag name="gpg">Enable support for <pkg>app-crypt/gpgme</pkg> to
43 - sign/verify and encrypt/decrypt OpenPGP messages</flag>
44 - <flag name="hcache">Enable header cache, one database backend needs
45 - to be enabled</flag>
46 - <flag name="lmdb">Enable <pkg>dev-db/lmdb</pkg> database backend for
47 - header caching</flag>
48 - <flag name="notmuch">Enable support for <pkg>net-mail/notmuch</pkg></flag>
49 - <flag name="pop">Enable support for POP3 mailboxes</flag>
50 - <flag name="sidebar">Enable the sidebar feature</flag>
51 - <flag name="smime">Enable support for S/MIME mailparts</flag>
52 - <flag name="smtp">Enable support for direct SMTP delivery</flag>
53 - <flag name="tokyocabinet">Enable <pkg>dev-db/tokyocabinet</pkg>
54 - database backend for header caching</flag>
55 - </use>
56 - <upstream>
57 - <remote-id type="sourceforge">mutt</remote-id>
58 - <remote-id type="bitbucket">mutt/mutt</remote-id>
59 - </upstream>
60 + <maintainer type="person">
61 + <email>grobian@g.o</email>
62 + </maintainer>
63 + <maintainer type="project">
64 + <email>net-mail@g.o</email>
65 + <name>Net-Mail</name>
66 + </maintainer>
67 + <use>
68 + <flag name="berkdb">Enable <pkg>sys-libs/db</pkg> database backend
69 + for header caching</flag>
70 + <flag name="gdbm">Enable <pkg>sys-libs/gdbm</pkg> database backend
71 + for header caching</flag>
72 + <flag name="hcache">Enable header cache, one database backend needs
73 + to be enabled</flag>
74 + <flag name="lmdb">Enable <pkg>dev-db/lmdb</pkg> database backend for
75 + header caching</flag>
76 + <flag name="notmuch">Enable support for <pkg>net-mail/notmuch</pkg></flag>
77 + <flag name="pop">Enable support for POP3 mailboxes</flag>
78 + <flag name="sidebar">Enable the sidebar feature</flag>
79 + <flag name="smtp">Enable support for direct SMTP delivery</flag>
80 + <flag name="tokyocabinet">Enable <pkg>dev-db/tokyocabinet</pkg>
81 + database backend for header caching</flag>
82 + <flag name="crypt">Add support for encryption -- using mcrypt or gpg
83 + where applicable</flag>
84 + <flag name="pgp_classic">Build classic_pgp backend to support PGP/MIME
85 + and traditional/inline PGP</flag>
86 + <flag name="gpg">Enable support for <pkg>app-crypt/gpgme</pkg></flag>
87 + <flag name="gpgme">Build gpgme backend to support S/MIME, PGP/MIME and
88 + traditional/inline PGP</flag>
89 + <flag name="smime">Enable support for smime</flag>
90 + <flag name="smime_classic">Build classic_smime backend to support
91 + S/MIME</flag>
92 + </use>
93 + <upstream>
94 + <remote-id type="sourceforge">mutt</remote-id>
95 + <remote-id type="bitbucket">mutt/mutt</remote-id>
96 + </upstream>
97 </pkgmetadata>
98
99 diff --git a/mail-client/mutt/mutt-1.9.1-r3.ebuild b/mail-client/mutt/mutt-1.9.1-r3.ebuild
100 new file mode 100644
101 index 00000000000..fab20c02df2
102 --- /dev/null
103 +++ b/mail-client/mutt/mutt-1.9.1-r3.ebuild
104 @@ -0,0 +1,264 @@
105 +# Copyright 1999-2017 Gentoo Foundation
106 +# Distributed under the terms of the GNU General Public License v2
107 +
108 +EAPI="6"
109 +
110 +inherit eutils flag-o-matic autotools
111 +
112 +PATCHREV="r2"
113 +PATCHSET="gentoo-${PVR}/${PATCHREV}"
114 +
115 +DESCRIPTION="A small but very powerful text-based mail client"
116 +HOMEPAGE="http://www.mutt.org/"
117 +MUTT_G_PATCHES="mutt-gentoo-${PV}-patches-${PATCHREV}.tar.xz"
118 +SRC_URI="ftp://ftp.mutt.org/pub/mutt/${P}.tar.gz
119 + https://bitbucket.org/${PN}/${PN}/downloads/${P}.tar.gz
120 + https://dev.gentoo.org/~grobian/distfiles/${MUTT_G_PATCHES}"
121 +IUSE="berkdb crypt debug doc gdbm gnutls gpg gpgme +hcache idn imap kerberos libressl lmdb mbox nls nntp notmuch pgp_classic pop qdbm sasl selinux sidebar slang smime smime_classic smtp ssl tokyocabinet vanilla prefix"
122 +REQUIRED_USE="
123 + hcache? ( ^^ ( berkdb gdbm lmdb qdbm tokyocabinet ) )
124 + imap? ( ssl )
125 + pop? ( ssl )
126 + nntp? ( ssl )
127 + smime? ( ssl !gnutls )
128 + smime_classic? ( ssl !gnutls )
129 + smtp? ( ssl )
130 + sasl? ( || ( imap pop smtp nntp ) )
131 + kerberos? ( || ( imap pop smtp nntp ) )"
132 +SLOT="0"
133 +LICENSE="GPL-2"
134 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
135 +CDEPEND="
136 + app-misc/mime-types
137 +
138 + berkdb? ( >=sys-libs/db-4:= )
139 + gdbm? ( sys-libs/gdbm )
140 + lmdb? ( dev-db/lmdb:= )
141 + qdbm? ( dev-db/qdbm )
142 + tokyocabinet? ( dev-db/tokyocabinet )
143 +
144 + ssl? (
145 + gnutls? ( >=net-libs/gnutls-1.0.17:= )
146 + !gnutls? (
147 + libressl? ( dev-libs/libressl:= )
148 + !libressl? ( >=dev-libs/openssl-0.9.6:0= )
149 + )
150 + )
151 +
152 + nls? ( virtual/libintl )
153 + sasl? ( >=dev-libs/cyrus-sasl-2 )
154 + kerberos? ( virtual/krb5 )
155 + idn? ( net-dns/libidn )
156 + gpg? ( >=app-crypt/gpgme-0.9.0:= )
157 + gpgme? ( >=app-crypt/gpgme-0.9.0:= )
158 + notmuch? ( net-mail/notmuch:= )
159 + slang? ( sys-libs/slang )
160 + !slang? ( >=sys-libs/ncurses-5.2:0= )
161 +"
162 +DEPEND="${CDEPEND}
163 + net-mail/mailbase
164 + doc? (
165 + dev-libs/libxml2
166 + dev-libs/libxslt
167 + app-text/docbook-xsl-stylesheets
168 + || ( www-client/lynx www-client/w3m www-client/elinks )
169 + )"
170 +RDEPEND="${CDEPEND}
171 + selinux? ( sec-policy/selinux-mutt )
172 +"
173 +
174 +src_prepare() {
175 + local PATCHDIR="${WORKDIR}"/mutt-gentoo-${PV}-patches
176 +
177 + if use !vanilla ; then
178 + # apply patches
179 + export EPATCH_FORCE="yes"
180 + export EPATCH_SUFFIX="patch"
181 + # http://hg.code.sf.net/p/gentoomutt/code/file/gentoo-1.8
182 + # http://hg.code.sf.net/p/gentoomuttpatches/code/file/mutt-1.8
183 + local patches=(
184 + patches-mutt
185 + bugs-gentoo
186 + features-common
187 + features-extra
188 + gentoo
189 + )
190 + local patchset
191 + for patchset in "${patches[@]}" ; do
192 + [[ -d "${PATCHDIR}/${patchset}" ]] || continue
193 + einfo "Applying ${PATCHSET} patchset ${patchset}"
194 + EPATCH_SOURCE="${PATCHDIR}"/${patchset} epatch \
195 + || die "patchset ${patchset} failed"
196 + done
197 + # add some explanation as to why not to go upstream
198 + sed -i \
199 + -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\\' \
200 + main.c || die "Failed to add bug instructions"
201 + fi
202 +
203 + local upatches=
204 + # allow user patches
205 + eapply_user && upatches=" with user patches"
206 +
207 + # patch version string for bug reports
208 + local patchset=
209 + use vanilla || patchset=", ${PATCHSET}"
210 + sed -i -e 's|"Mutt %s (%s)"|"Mutt %s (%s'"${patchset}${upatches}"')"|' \
211 + muttlib.c || die "failed patching in Gentoo version"
212 +
213 + # many patches touch the buildsystem, we always need this
214 + AT_M4DIR="m4" eautoreconf
215 +
216 + # the configure script contains some "cleverness" whether or not to setgid
217 + # the dotlock program, resulting in bugs like #278332
218 + sed -i -e 's/@DOTLOCK_GROUP@//' \
219 + Makefile.in || die "sed failed"
220 +}
221 +
222 +src_configure() {
223 + local myconf=(
224 + "$(use_enable crypt pgp)"
225 + "$(use_enable pgp_classic pgp)"
226 + "$(use_enable debug)"
227 + "$(use_enable doc)"
228 + "$(use_enable gpg gpgme)"
229 + "$(use_enable gpgme)"
230 + "$(use_enable nls)"
231 + "$(use_enable notmuch)"
232 + "$(use_enable sidebar)"
233 + "$(use_enable smime)"
234 + "$(use_enable smime_classic smime)"
235 +
236 + "$(use_enable imap)"
237 + "$(use_enable pop)"
238 + "$(use_enable nntp)"
239 + "$(use_enable smtp)"
240 +
241 + $(use ssl && use gnutls && echo --with-gnutls --without-ssl)
242 + $(use ssl && use !gnutls && echo --without-gnutls --with-ssl )
243 + $(use !ssl && echo --without-gnutls --without-ssl)
244 +
245 + "$(use_with idn)"
246 + "$(use_with kerberos gss)"
247 + "$(use_with sasl)"
248 + "$(use slang && echo --with-slang=${EPREFIX}/usr)"
249 + "$(use_with !slang curses ${EPREFIX}/usr)"
250 +
251 + "--enable-compressed"
252 + "--enable-external-dotlock"
253 + "--enable-nfs-fix"
254 + "--sysconfdir=${EPREFIX}/etc/${PN}"
255 + "--with-docdir=${EPREFIX}/usr/share/doc/${PN}-${PVR}"
256 + "--with-regex"
257 + "--with-exec-shell=${EPREFIX}/bin/sh"
258 + )
259 +
260 + if [[ ${CHOST} == *-solaris* ]] ; then
261 + # arrows in index view do not show when using wchar_t
262 + myconf+=( "--without-wc-funcs" )
263 + fi
264 +
265 + # REQUIRED_USE should have selected only one of these
266 + local hcaches=(
267 + "berkdb:bdb"
268 + "gdbm"
269 + "lmdb"
270 + "qdbm"
271 + "tokyocabinet"
272 + )
273 + local ucache hcache lcache
274 + for hcache in "${hcaches[@]}" ; do
275 + if use ${hcache%%:*} ; then
276 + ucache=${hcache}
277 + break
278 + fi
279 + done
280 + if [[ -n ${ucache} ]] ; then
281 + myconf+=( "--enable-hcache" )
282 + else
283 + myconf+=( "--disable-hcache" )
284 + fi
285 + for hcache in "${hcaches[@]}" ; do
286 + [[ ${hcache} == ${ucache} ]] \
287 + && myconf+=( "--with-${hcache#*:}" ) \
288 + || myconf+=( "--without-${hcache#*:}" )
289 + done
290 +
291 + if use mbox; then
292 + myconf+=( "--with-mailpath=${EPREFIX}/var/spool/mail" )
293 + else
294 + myconf+=( "--with-homespool=Maildir" )
295 + fi
296 +
297 + econf "${myconf[@]}" || die "configure failed"
298 +}
299 +
300 +src_install() {
301 + emake DESTDIR="${D}" install || die "install failed"
302 + if use mbox; then
303 + insinto /etc/mutt
304 + newins "${FILESDIR}"/Muttrc.mbox Muttrc
305 + else
306 + insinto /etc/mutt
307 + doins "${FILESDIR}"/Muttrc
308 + fi
309 +
310 + # A newer file is provided by app-misc/mime-types. So we link it.
311 + rm "${ED}"/etc/${PN}/mime.types
312 + dosym "${EPREFIX}"/etc/mime.types /etc/${PN}/mime.types
313 +
314 + # A man-page is always handy, so fake one
315 + if use !doc; then
316 + emake -C doc DESTDIR="${D}" muttrc.man || die
317 + # make the fake slightly better, bug #413405
318 + sed -e 's#@docdir@/manual.txt#http://www.mutt.org/doc/devel/manual.html#' \
319 + -e 's#in @docdir@,#at http://www.mutt.org/,#' \
320 + -e "s#@sysconfdir@#${EPREFIX}/etc/${PN}#" \
321 + -e "s#@bindir@#${EPREFIX}/usr/bin#" \
322 + doc/mutt.man > mutt.1
323 + cp doc/muttbug.man flea.1
324 + cp doc/muttrc.man muttrc.5
325 + doman mutt.1 flea.1 muttrc.5
326 + else
327 + # nuke manpages that should be provided by an MTA, bug #177605
328 + rm "${ED}"/usr/share/man/man5/{mbox,mmdf}.5 \
329 + || ewarn "failed to remove files, please file a bug"
330 + fi
331 +
332 + if use !prefix ; then
333 + fowners root:mail /usr/bin/mutt_dotlock
334 + fperms g+s /usr/bin/mutt_dotlock
335 + fi
336 +
337 + dodoc BEWARE COPYRIGHT ChangeLog NEWS OPS* PATCHES README* TODO VERSION
338 +}
339 +
340 +pkg_postinst() {
341 + if [[ -z ${REPLACING_VERSIONS} ]] ; then
342 + echo
343 + elog "If you are new to mutt you may want to take a look at"
344 + elog "the Gentoo QuickStart Guide to Mutt E-Mail:"
345 + elog " https://wiki.gentoo.org/wiki/Mutt"
346 + echo
347 + else
348 + local ver
349 + local preconddate=
350 + for ver in ${REPLACING_VERSIONS} ; do
351 + [[ ${ver} == "1.5"* || ${ver} == "1.6"* ]] && preconddate=true
352 + done
353 + if [[ -n ${preconddate} ]] ; then
354 + echo
355 + elog "The SmartTime functionality has been replaced with"
356 + elog "CondDate feature. To mimic SmartTime, use this CondDate formatter:"
357 + elog "%<[12m?%<[7d?%<[12H?%[%H:%M ]&%[%a-%d]>&%[%d-%b]>&%[%b-%y]>"
358 + echo
359 + fi
360 + fi
361 + ewarn "Pleae note that the crypto related USE flags of neomutt have changed."
362 + ewarn "(https://bugs.gentoo.org/637176)"
363 + ewarn "crypt -> pgp_classic"
364 + ewarn "gpg -> gpgme"
365 + ewarn "smime -> smime_classic"
366 + ewarn "The old USE flags still work but their use is deprecated and will"
367 + ewarn "be removed in a future release."
368 +}