Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-client/mutt/
Date: Tue, 03 May 2022 14:05:51
Message-Id: 1651586721.d4b20fb45a00c02ac15752d503537a5aa3457a84.grobian@gentoo
1 commit: d4b20fb45a00c02ac15752d503537a5aa3457a84
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Tue May 3 14:05:21 2022 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Tue May 3 14:05:21 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4b20fb4
7
8 mail-client/mutt-2.2.4: version bump
9
10 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
11
12 mail-client/mutt/Manifest | 2 +
13 mail-client/mutt/mutt-2.2.4.ebuild | 268 +++++++++++++++++++++++++++++++++++++
14 2 files changed, 270 insertions(+)
15
16 diff --git a/mail-client/mutt/Manifest b/mail-client/mutt/Manifest
17 index 72e1fa7afd72..43fad0c39cf7 100644
18 --- a/mail-client/mutt/Manifest
19 +++ b/mail-client/mutt/Manifest
20 @@ -1,2 +1,4 @@
21 DIST mutt-2.2.3.tar.gz 5509344 BLAKE2B 57d9d29d009e8dce6b27277aa4df371a4b03e783fb5482dc10db20ffa393db01b1aaeaee49bf8421b048e5bb07eeff31fcc1ef84db982b58c618d396ce11e56e SHA512 47656ee1b741d0d165fde4027fc7278910e39e9d5d0bfc5c52e7e767c3373bd3755833269d256364333fd4502c67490adcd5e4b33f1141f53ad575e9fb1a5131
22 +DIST mutt-2.2.4.tar.gz 5515825 BLAKE2B cae02e409d6d4d7c1e6544c1f9c5051b85d390258e6de0d98edcb9d3e519cecdfa1aa54d43cdae9d5ce8409d39752cac501e5433a21cc46bdf861a05f4059e37 SHA512 4a4b27069ab55ac557613659c210edc98016c8506e2281aa0cf1966fc18d04bb2e8d8f227c2a05b3e3657138c1ac9097f38e4693d49e42425b43ab63dd262b10
23 DIST mutt-gentoo-2.2.3-patches-r0.tar.xz 23168 BLAKE2B be7fad2f06b913439df4fb7a223e7305b66195153329956f4be9fdd524ac0de6121ccf9a6dc506b0b68e12759667173379c4e0ff1645c1b9948aaed1f7601033 SHA512 22edcc53a42133093eb163e4cfba2e865aec31ef87c74e35aaad10d9a4543f9d2cf477ac263da11e247eba300eb72a42870a59a8a3a90341691bdb0ee6d44d5f
24 +DIST mutt-gentoo-2.2.4-patches-r0.tar.xz 23164 BLAKE2B 0645fa2d0a931fd9127de47ae5916fecf09cacbacdc8c6b5f3cea6e6df1c36ec33450c00f9f5261f8adf7dd2fce7e6842b0dd8f3f3ac73b5a0aaa64e774460ff SHA512 f64f8129b9cf9ab9c63bb3789090ba9a821af0411f9b4f858a4a1a95d52ec282581d4f3dd221fc83d715369e35b6a5c4e244f4ec2e5edda4d4ea432f4722f69b
25
26 diff --git a/mail-client/mutt/mutt-2.2.4.ebuild b/mail-client/mutt/mutt-2.2.4.ebuild
27 new file mode 100644
28 index 000000000000..5746fe1ea28f
29 --- /dev/null
30 +++ b/mail-client/mutt/mutt-2.2.4.ebuild
31 @@ -0,0 +1,268 @@
32 +# Copyright 1999-2022 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI="7"
36 +
37 +inherit flag-o-matic autotools
38 +
39 +PATCHREV="r0"
40 +PATCHSET="gentoo-${PVR}/${PATCHREV}"
41 +
42 +DESCRIPTION="A small but very powerful text-based mail client"
43 +HOMEPAGE="http://www.mutt.org/"
44 +MUTT_G_PATCHES="mutt-gentoo-${PV}-patches-${PATCHREV}.tar.xz"
45 +SRC_URI="ftp://ftp.mutt.org/pub/mutt/${P}.tar.gz
46 + https://bitbucket.org/${PN}/${PN}/downloads/${P}.tar.gz
47 + https://dev.gentoo.org/~grobian/distfiles/${MUTT_G_PATCHES}"
48 +IUSE="autocrypt berkdb debug doc gdbm gnutls gpgme gsasl +hcache idn +imap kerberos +lmdb mbox nls pgp-classic pop qdbm +sasl selinux slang smime-classic +smtp +ssl tokyocabinet vanilla prefix"
49 +# hcache: allow multiple, bug #607360
50 +REQUIRED_USE="
51 + gsasl? ( sasl )
52 + hcache? ( || ( berkdb gdbm lmdb qdbm tokyocabinet ) )
53 + imap? ( ssl )
54 + pop? ( ssl )
55 + smime-classic? ( ssl !gnutls )
56 + smtp? ( ssl sasl )
57 + sasl? ( || ( imap pop smtp ) )
58 + kerberos? ( || ( imap pop smtp ) )
59 + autocrypt? ( gpgme )"
60 +SLOT="0"
61 +LICENSE="GPL-2"
62 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
63 +# yes, we overdepend on the backend impls here, hopefully one day we can
64 +# have REQUIRED_USE do what it is made for again. bug #607360
65 +CDEPEND="
66 + app-misc/mime-types
67 + virtual/libiconv
68 +
69 + berkdb? ( >=sys-libs/db-4:= )
70 + gdbm? ( sys-libs/gdbm )
71 + lmdb? ( dev-db/lmdb:= )
72 + qdbm? ( dev-db/qdbm )
73 + tokyocabinet? ( dev-db/tokyocabinet )
74 +
75 + ssl? (
76 + gnutls? ( >=net-libs/gnutls-1.0.17:= )
77 + !gnutls? ( >=dev-libs/openssl-0.9.6:0= )
78 + )
79 +
80 + nls? ( virtual/libintl )
81 + sasl? (
82 + gsasl? ( virtual/gsasl )
83 + !gsasl? ( >=dev-libs/cyrus-sasl-2 )
84 + )
85 + kerberos? ( virtual/krb5 )
86 + idn? ( net-dns/libidn2 )
87 + gpgme? ( >=app-crypt/gpgme-0.9.0:= )
88 + autocrypt? ( >=dev-db/sqlite-3 )
89 + slang? ( sys-libs/slang )
90 + !slang? ( >=sys-libs/ncurses-5.2:0= )
91 +"
92 +DEPEND="${CDEPEND}
93 + net-mail/mailbase
94 + doc? (
95 + dev-libs/libxml2
96 + dev-libs/libxslt
97 + app-text/docbook-xsl-stylesheets
98 + || ( www-client/lynx www-client/w3m www-client/elinks )
99 + )"
100 +RDEPEND="${CDEPEND}
101 + selinux? ( sec-policy/selinux-mutt )
102 + smime-classic? ( >=dev-libs/openssl-0.9.6:0 )
103 + pgp-classic? ( app-crypt/gnupg )
104 +"
105 +
106 +src_prepare() {
107 + local PATCHDIR="${WORKDIR}"/mutt-gentoo-${PV}-patches-${PATCHREV}
108 +
109 + if use !vanilla ; then
110 + # apply patches
111 + # http://hg.code.sf.net/p/gentoomuttpatches/code/file/mutt-1.10
112 + local patches=(
113 + patches-mutt
114 + bugs-gentoo
115 + features-common
116 + features-extra
117 + gentoo
118 + )
119 + local patchset p
120 + for patchset in "${patches[@]}" ; do
121 + [[ -d "${PATCHDIR}/${patchset}" ]] || continue
122 + einfo "Patches for ${PATCHSET} patchset ${patchset}"
123 + for p in "${PATCHDIR}/${patchset}"/*.patch ; do
124 + eapply "${p}" || die
125 + done
126 + done
127 + # add some explanation as to why not to go upstream
128 + sed -i \
129 + -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\\' \
130 + main.c || die "Failed to add bug instructions"
131 + fi
132 +
133 + local upatches=
134 + # allow user patches
135 + eapply_user && upatches=" with user patches"
136 +
137 + # patch version string for bug reports
138 + local patchset=
139 + use vanilla || patchset=", ${PATCHSET}"
140 + sed -i -e 's|"Mutt %s (%s)"|"Mutt %s (%s'"${patchset}${upatches}"')"|' \
141 + muttlib.c || die "failed patching in Gentoo version"
142 +
143 + # many patches touch the buildsystem, we always need this
144 + AT_M4DIR="m4" eautoreconf
145 +
146 + # the configure script contains some "cleverness" whether or not to setgid
147 + # the dotlock program, resulting in bugs like #278332
148 + sed -i -e 's/@DOTLOCK_GROUP@//' Makefile.in || die "sed failed"
149 +}
150 +
151 +src_configure() {
152 + local myconf=(
153 + # signing and encryption
154 + $(use_enable autocrypt) $(use_with autocrypt sqlite3)
155 + $(use_enable pgp-classic pgp)
156 + $(use_enable smime-classic smime)
157 + $(use_enable gpgme)
158 +
159 + # features
160 + $(use_enable debug)
161 + $(use_enable doc)
162 + $(use_enable nls)
163 +
164 + # protocols
165 + $(use_enable imap)
166 + $(use_enable pop)
167 + $(use_enable smtp)
168 +
169 + $(use ssl && use gnutls && echo --with-gnutls --without-ssl)
170 + $(use ssl && use !gnutls && echo --without-gnutls --with-ssl )
171 + $(use !ssl && echo --without-gnutls --without-ssl)
172 +
173 + $(use sasl && use gsasl && echo --with-gsasl --without-sasl)
174 + $(use sasl && use !gsasl && echo --without-gsasl --with-sasl )
175 + $(use !sasl && echo --without-gsasl --without-sasl)
176 +
177 + $(use_with idn idn2) --without-idn # avoid automagic libidn dep
178 + $(use_with kerberos gss)
179 + "$(use slang && echo --with-slang="${EPREFIX}"/usr || echo a=b)"
180 + "$(use_with !slang curses "${EPREFIX}"/usr)"
181 +
182 + "--enable-compressed"
183 + "--enable-external-dotlock"
184 + "--enable-iconv"
185 + "--enable-nfs-fix"
186 + "--enable-sidebar"
187 + "--sysconfdir=${EPREFIX}/etc/${PN}"
188 + "--with-docdir=${EPREFIX}/usr/share/doc/${PN}-${PVR}"
189 + "--without-bundled-regex" # use the implementation from libc
190 + "--with-exec-shell=${EPREFIX}/bin/sh"
191 + )
192 +
193 + if [[ ${CHOST} == *-solaris2.* && ${CHOST#*-solaris2.} -le 10 ]] ; then
194 + # arrows in index view do not show when using wchar_t
195 + # or misalign due to wrong computations
196 + myconf+=( "--without-wc-funcs" )
197 + fi
198 +
199 + # note: REQUIRED_USE should have selected only one of these, but for
200 + # bug #607360 we're forced to allow multiple. For that reason, this
201 + # list is ordered to preference, and only the first is taken.
202 + local hcaches=(
203 + "lmdb"
204 + "qdbm"
205 + "tokyocabinet"
206 + "gdbm"
207 + "berkdb:bdb"
208 + )
209 + local ucache hcache lcache
210 + for hcache in "${hcaches[@]}" ; do
211 + if use ${hcache%%:*} ; then
212 + ucache=${hcache}
213 + break
214 + fi
215 + done
216 + if [[ -n ${ucache} ]] ; then
217 + myconf+=( "--enable-hcache" )
218 + else
219 + myconf+=( "--disable-hcache" )
220 + fi
221 + for hcache in "${hcaches[@]}" ; do
222 + [[ ${hcache} == ${ucache} ]] \
223 + && myconf+=( "--with-${hcache#*:}" ) \
224 + || myconf+=( "--without-${hcache#*:}" )
225 + done
226 +
227 + if use mbox; then
228 + myconf+=( "--with-mailpath=${EPREFIX}/var/spool/mail" )
229 + else
230 + myconf+=( "--with-homespool=Maildir" )
231 + fi
232 +
233 + econf "${myconf[@]}"
234 +}
235 +
236 +src_install() {
237 + emake DESTDIR="${D}" install
238 + insinto /etc/${PN}
239 + if use mbox; then
240 + newins "${FILESDIR}"/Muttrc.mbox Muttrc
241 + else
242 + doins "${FILESDIR}"/Muttrc
243 + fi
244 +
245 + # include attachment settings, it's mandatory and shouldn't harm
246 + # when not being referenced (index_format using %X)
247 + {
248 + echo
249 + echo "# mandatory attachments settings, not setting these is a BUG!"
250 + echo "# see https://marc.info/?l=mutt-dev&m=158347284923517&w=2"
251 + grep '^attachments' "${ED}"/etc/${PN}/Muttrc.dist
252 + } >> "${ED}"/etc/${PN}/Muttrc
253 +
254 + # add setting to actually enable gpgme usage
255 + if use gpgme || use autocrypt ; then
256 + {
257 + echo
258 + echo "# this setting enables the gpgme backend (via USE=gpgme)"
259 + # https is broken due to a certificate mismatch :(
260 + echo "# see http://www.mutt.org/doc/manual/#crypt-use-gpgme"
261 + echo "set crypt_use_gpgme = yes"
262 + } >> "${ED}"/etc/${PN}/Muttrc
263 + fi
264 +
265 + # similar for autocrypt
266 + if use autocrypt ; then
267 + {
268 + echo
269 + echo "# enables autocrypt (via USE=autocrypt)"
270 + echo "# see http://www.mutt.org/doc/manual/#autocryptdoc"
271 + echo "set autocrypt = yes"
272 + } >> "${ED}"/etc/${PN}/Muttrc
273 + fi
274 +
275 + # A newer file is provided by app-misc/mime-types. So we link it.
276 + rm "${ED}"/etc/${PN}/mime.types
277 + dosym ../mime.types /etc/${PN}/mime.types
278 +
279 + # nuke manpages that should be provided by an MTA, bug #177605
280 + rm "${ED}"/usr/share/man/man5/{mbox,mmdf}.5 \
281 + || ewarn "failed to remove files, please file a bug"
282 +
283 + if use !prefix ; then
284 + fowners root:mail /usr/bin/mutt_dotlock
285 + fperms g+s /usr/bin/mutt_dotlock
286 + fi
287 +
288 + dodoc COPYRIGHT ChangeLog NEWS OPS* PATCHES README* TODO VERSION
289 +}
290 +
291 +pkg_postinst() {
292 + if [[ -z ${REPLACING_VERSIONS} ]] ; then
293 + echo
294 + elog "If you are new to mutt you may want to take a look at"
295 + elog "the Gentoo QuickStart Guide to Mutt E-Mail:"
296 + elog " https://wiki.gentoo.org/wiki/Mutt"
297 + echo
298 + fi
299 +}