Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-mail/notmuch/
Date: Sat, 02 Jan 2021 22:33:12
Message-Id: 1609625666.1e109f6216fcf48bf701224b4dd81e1db657a180.sam@gentoo
1 commit: 1e109f6216fcf48bf701224b4dd81e1db657a180
2 Author: Ralph Seichter <github <AT> seichter <DOT> de>
3 AuthorDate: Sun Dec 27 21:43:28 2020 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 2 22:14:26 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e109f62
7
8 net-mail/notmuch: Bump to version 0.31.3
9
10 Package-Manager: Portage-3.0.9, Repoman-3.0.2
11 Signed-off-by: Ralph Seichter <gentoo <AT> seichter.de>
12 Closes: https://github.com/gentoo/gentoo/pull/18846
13 Signed-off-by: Sam James <sam <AT> gentoo.org>
14
15 net-mail/notmuch/Manifest | 1 +
16 net-mail/notmuch/notmuch-0.31.3.ebuild | 276 +++++++++++++++++++++++++++++++++
17 2 files changed, 277 insertions(+)
18
19 diff --git a/net-mail/notmuch/Manifest b/net-mail/notmuch/Manifest
20 index 9456c2345c8..7b8d75a5a02 100644
21 --- a/net-mail/notmuch/Manifest
22 +++ b/net-mail/notmuch/Manifest
23 @@ -2,4 +2,5 @@ DIST database-v1.tar.xz 204876 BLAKE2B 846a8d2f17edb61ed1c3d3c655becd1f60b404677
24 DIST notmuch-0.29.3.tar.xz 660536 BLAKE2B bd5d62eba06102acbc0615cd97ac9ff5578c1f68d50b24a79ea9fb1ea77850d84e0713fb648cb04e74a61ac3321ea5ef82db714786adf38ea10d00c5846decff SHA512 b1e0b47ebf2d2de0ccd39976782eb8a7b417e36f2f9d78ef19e27e55719a02ee919508843a0eaf258f58138914ab2e8796d2fc1782b9cfe2d8937abb6184be65
25 DIST notmuch-0.30.tar.xz 711904 BLAKE2B fb1523f3939b78797e448e804fc52c4fe1e4e8ff87b346917488d3911027b9ccb67b9fddf611f0e960fd1e158463cbe005e038f31bb54549e2a922926dd512bd SHA512 a5c812eb141c293c61b5483eafd31d3e3ab19b2c84429a1558986c415d30ead4afa79db64b2672e9549a40f5eb4c69e54ea5ccccbeeaeb9c783051c3f965a65e
26 DIST notmuch-0.31.2.tar.xz 713388 BLAKE2B 20029f55206b66e7956316fca2d16ae53a49fc196ea2e730ae5ebd96ce893fa2065b7eee9b625629bbb0d3816a70d98e8943920cf8895ef81a97a1d8dc59dd62 SHA512 b134ef79648cb6fe9f17b2f1b600d651d57359ae9fa576c808b794aa64a09955f0597a624cc3c498da4ef56e44bca6bb485bc402c2dff48cd000959f9a9ceeaa
27 +DIST notmuch-0.31.3.tar.xz 713900 BLAKE2B 64aa5c707a74544d31f1dce4e49f3e19cf8c733dfe6f0761dec5522eae94bacf0c01ab7c8212373f1857eeecbad569482365a53a10f56dfee72cefc8d3f4f05a SHA512 99119216b7ef7f9e336b11d03ebb61d9667a8fbddcf6fccc49b17d07f07867f0342b2766375e164b58eaa9a43237ec4d6567d616fe8813b929d28b203aedfa44
28 DIST notmuch-0.31.tar.xz 713144 BLAKE2B 91b0a01543e438e6ccb40a01ad0a100a5c6ae15fe832bb29367d4bc288dae5a915f89a743ecee814041caf53430e2593cb4b5f69faaec396ad6dacfe8cc67d2f SHA512 928acc07b9dbed4275e7d39d94202bea7685e9d433a7bf4c07e40e191ed4fe8cf15ac04c18792e46f4605ffac548b942998005d8176a58ad76c82d4085a408e5
29
30 diff --git a/net-mail/notmuch/notmuch-0.31.3.ebuild b/net-mail/notmuch/notmuch-0.31.3.ebuild
31 new file mode 100644
32 index 00000000000..88f4451fc0b
33 --- /dev/null
34 +++ b/net-mail/notmuch/notmuch-0.31.3.ebuild
35 @@ -0,0 +1,276 @@
36 +# Copyright 1999-2020 Gentoo Authors
37 +# Distributed under the terms of the GNU General Public License v2
38 +
39 +EAPI=7
40 +
41 +DISTUTILS_OPTIONAL=1
42 +NEED_EMACS="24.1"
43 +PYTHON_COMPAT=( python3_{6,7,8,9} pypy3 )
44 +
45 +inherit bash-completion-r1 desktop distutils-r1 elisp-common eutils flag-o-matic pax-utils toolchain-funcs xdg-utils
46 +
47 +DESCRIPTION="Thread-based e-mail indexer, supporting quick search and tagging"
48 +HOMEPAGE="https://notmuchmail.org/"
49 +SRC_URI="https://notmuchmail.org/releases/${P}.tar.xz
50 + test? ( https://notmuchmail.org/releases/test-databases/database-v1.tar.xz )"
51 +
52 +LICENSE="GPL-3"
53 +# Sub-slot corresponds to major wersion of libnotmuch.so.X.Y. Bump of Y is
54 +# meant to be binary backward compatible.
55 +SLOT="0/5"
56 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc64 ~x86"
57 +REQUIRED_USE="
58 + apidoc? ( doc )
59 + nmbug? ( python )
60 + python? ( ${PYTHON_REQUIRED_USE} )
61 + test? ( crypt emacs python valgrind )
62 +"
63 +IUSE="apidoc crypt doc emacs mutt nmbug python test valgrind"
64 +RESTRICT="!test? ( test )"
65 +
66 +BDEPEND="
67 + virtual/pkgconfig
68 + apidoc? (
69 + app-doc/doxygen
70 + dev-lang/perl
71 + )
72 + doc? (
73 + dev-python/sphinx
74 + sys-apps/texinfo
75 + )
76 + python? ( dev-python/pytest[${PYTHON_USEDEP}] )
77 +"
78 +
79 +COMMON_DEPEND="
80 + dev-libs/glib
81 + dev-libs/gmime:3.0[crypt]
82 + >=dev-libs/xapian-1.4.0:=
83 + sys-libs/talloc
84 + sys-libs/zlib:=
85 + emacs? ( >=app-editors/emacs-${NEED_EMACS}:* )
86 + python? (
87 + ${PYTHON_DEPS}
88 + virtual/python-cffi[${PYTHON_USEDEP}]
89 + )
90 +"
91 +
92 +DEPEND="${COMMON_DEPEND}
93 + test? (
94 + >=app-editors/emacs-${NEED_EMACS}:*[libxml2]
95 + app-misc/dtach
96 + sys-devel/gdb
97 + crypt? (
98 + app-crypt/gnupg
99 + dev-libs/openssl
100 + )
101 + )
102 + valgrind? ( dev-util/valgrind )
103 +"
104 +
105 +RDEPEND="${COMMON_DEPEND}
106 + crypt? ( app-crypt/gnupg )
107 + mutt? (
108 + dev-perl/File-Which
109 + dev-perl/Mail-Box
110 + dev-perl/MailTools
111 + dev-perl/String-ShellQuote
112 + dev-perl/Term-ReadLine-Gnu
113 + virtual/perl-Digest-SHA
114 + virtual/perl-File-Path
115 + virtual/perl-Getopt-Long
116 + virtual/perl-Pod-Parser
117 + )
118 + nmbug? ( dev-vcs/git )
119 +"
120 +
121 +SITEFILE="50${PN}-gentoo.el"
122 +
123 +pkg_setup() {
124 + use emacs && elisp-check-emacs-version
125 +}
126 +
127 +src_unpack() {
128 + unpack "${P}".tar.xz
129 + if use test; then
130 + mkdir -p "${S}"/test/test-databases || die
131 + cp "${DISTDIR}"/database-v1.tar.xz "${S}"/test/test-databases/ || die
132 + fi
133 +}
134 +
135 +src_prepare() {
136 + default
137 +
138 + use python && distutils-r1_src_prepare
139 +
140 + mv contrib/notmuch-mutt/README contrib/notmuch-mutt/README-mutt || die
141 +
142 + # Override 'install' target, we want to install manpages with doman, but let it install texinfo files.
143 + sed -i "s/all install-man install-info/all $(usex doc install-info '')/" "Makefile.local" || die
144 +
145 + use test && append-flags '-g'
146 +
147 + # Non-autoconf configure
148 + [[ ${CHOST} == *-solaris* ]] && append-ldflags '-lnsl' '-lsocket'
149 +}
150 +
151 +src_configure() {
152 + python_setup # For sphinx
153 +
154 + tc-export CC CXX
155 +
156 + local myconf=(
157 + --bashcompletiondir="$(get_bashcompdir)"
158 + --emacslispdir="${EPREFIX}/${SITELISP}/${PN}"
159 + --emacsetcdir="${EPREFIX}/${SITEETC}/${PN}"
160 + --without-desktop
161 + --without-ruby
162 + --zshcompletiondir="${EPREFIX}/usr/share/zsh/site-functions"
163 + $(use_with apidoc api-docs)
164 + $(use_with doc docs)
165 + $(use_with emacs)
166 + )
167 +
168 + econf "${myconf[@]}"
169 +}
170 +
171 +python_compile() {
172 + pushd bindings/python-cffi > /dev/null || die
173 + distutils-r1_python_compile
174 + popd > /dev/null || die
175 +
176 + # TODO: we want to drop those, research revdeps
177 + pushd bindings/python > /dev/null || die
178 + distutils-r1_python_compile
179 + popd > /dev/null || die
180 +}
181 +
182 +python_compile_all() {
183 + use doc && emake -C bindings/python/docs html
184 +}
185 +
186 +src_compile() {
187 + python_setup # For sphinx
188 +
189 + # prevent race in emacs doc generation
190 + # FileNotFoundError: [Errno 2] No such file or directory: '..work/notmuch-0.31/emacs/notmuch.rsti'
191 + if use emacs; then
192 + use doc && emake -j1 -C emacs docstring.stamp V=1 #nowarn
193 + fi
194 +
195 + emake V=1
196 +
197 + use python && distutils-r1_src_compile
198 +
199 + if use mutt; then
200 + pushd contrib/notmuch-mutt > /dev/null || die
201 + emake notmuch-mutt.1
202 + popd > /dev/null || die
203 + fi
204 +}
205 +
206 +python_test() {
207 + # we only have tests for cffi bindings
208 + pushd bindings/python-cffi > /dev/null || die
209 + rm -f tox.ini || die
210 + pytest -vv || die "Tests failed with ${EPYTHON}"
211 + popd > /dev/null || die
212 +}
213 +
214 +src_test() {
215 + local test_failures=()
216 + # NOTMUCH_TEST_SERIALIZE is needed to avoid using gnu parallel (if it's installed)
217 + pax-mark -m notmuch
218 + NOTMUCH_TEST_SERIALIZE=1 \
219 + LD_LIBRARY_PATH="${S}/lib" \
220 + nonfatal emake test V=1 OPTIONS="--verbose --tee" || test_failures+=( "'emake tests'" )
221 + pax-mark -ze notmuch
222 +
223 + # both lib and bin needed for testsuite.
224 + if use python; then
225 + LD_LIBRARY_PATH="${S}/lib" \
226 + PATH="${S}:${PATH}" \
227 + nonfatal distutils-r1_src_test || test_failures+=( "'python tests'" )
228 + fi
229 +
230 + [[ ${test_failures} ]] && die "Tests failed: ${test_failures[@]}"
231 +}
232 +
233 +python_install() {
234 + pushd bindings/python-cffi > /dev/null || die
235 + distutils-r1_python_install
236 + popd > /dev/null || die
237 +
238 + pushd bindings/python > /dev/null || die
239 + distutils-r1_python_install
240 + popd > /dev/null || die
241 +}
242 +
243 +src_install() {
244 + default
245 +
246 + if use doc; then
247 + pushd doc/_build/man/man1 > /dev/null || die
248 + ln notmuch.1 notmuch-setup.1 || die
249 + popd > /dev/null || die
250 + if use apidoc; then
251 + # rename overly generic manpage to avoid clashes
252 + mv doc/_build/man/man3/deprecated.3 \
253 + doc/_build/man/man3/notmuch-deprecated.3 || die
254 + fi
255 + doman doc/_build/man/man?/*.?
256 + fi
257 +
258 + if use emacs; then
259 + elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die
260 + domenu emacs/notmuch-emacs-mua.desktop
261 + fi
262 +
263 + if use nmbug; then
264 + # TODO: those guys need proper deps
265 + python_fix_shebang devel/nmbug/{nmbug,notmuch-report}
266 + dobin devel/nmbug/{nmbug,notmuch-report}
267 + fi
268 +
269 + if use mutt; then
270 + pushd contrib/notmuch-mutt > /dev/null || die
271 + dobin notmuch-mutt
272 + # this manpage is built by pod2man
273 + doman notmuch-mutt.1
274 + insinto /etc/mutt
275 + doins notmuch-mutt.rc
276 + dodoc README-mutt
277 + popd > /dev/null || die
278 + fi
279 +
280 + local DOCS=( README{,.rst} INSTALL NEWS )
281 + einstalldocs
282 +
283 + if use python; then
284 + use doc && local HTML_DOCS=( bindings/python/docs/html/. )
285 + distutils-r1_src_install
286 + fi
287 +}
288 +
289 +pkg_preinst() {
290 + local _rcfile="/etc/mutt/notmuch-mutt.rc"
291 + if use mutt && ! [[ -e ${ROOT}${_rcfile} ]]; then
292 + elog "To enable notmuch support in mutt, add the following line"
293 + elog "to your mutt config file:"
294 + elog ""
295 + elog " source ${_rcfile}"
296 + fi
297 +}
298 +
299 +pkg_postinst() {
300 + if use emacs; then
301 + elisp-site-regen
302 + xdg_desktop_database_update
303 + fi
304 +}
305 +
306 +pkg_postrm() {
307 + if use emacs; then
308 + elisp-site-regen
309 + xdg_desktop_database_update
310 + fi
311 +}