Gentoo Archives: gentoo-commits

From: "Amadeusz Piotr Żołnowski" <aidecoe@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-mail/notmuch/
Date: Sat, 31 Aug 2019 21:54:43
Message-Id: 1567288464.84d5212b8d6c871de600388f92903ea5b0a5abc1.aidecoe@gentoo
1 commit: 84d5212b8d6c871de600388f92903ea5b0a5abc1
2 Author: Amadeusz Piotr Żołnowski <aidecoe <AT> gentoo <DOT> org>
3 AuthorDate: Sat Aug 31 21:53:32 2019 +0000
4 Commit: Amadeusz Piotr Żołnowski <aidecoe <AT> gentoo <DOT> org>
5 CommitDate: Sat Aug 31 21:54:24 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84d5212b
7
8 net-mail/notmuch: Don't require sphinx to have specific python target
9
10 Sphinx is used as a tool, not a library. We do not care about its
11 PYTHON_TARGETS.
12
13 Package-Manager: Portage-2.3.69, Repoman-2.3.16
14 Signed-off-by: Amadeusz Piotr Żołnowski <aidecoe <AT> gentoo.org>
15
16 net-mail/notmuch/notmuch-0.29.1-r1.ebuild | 237 ++++++++++++++++++++++++++++++
17 1 file changed, 237 insertions(+)
18
19 diff --git a/net-mail/notmuch/notmuch-0.29.1-r1.ebuild b/net-mail/notmuch/notmuch-0.29.1-r1.ebuild
20 new file mode 100644
21 index 00000000000..0124be3ef9a
22 --- /dev/null
23 +++ b/net-mail/notmuch/notmuch-0.29.1-r1.ebuild
24 @@ -0,0 +1,237 @@
25 +# Copyright 1999-2019 Gentoo Authors
26 +# Distributed under the terms of the GNU General Public License v2
27 +
28 +EAPI=6
29 +
30 +DISTUTILS_OPTIONAL=1
31 +PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
32 +
33 +inherit bash-completion-r1 elisp-common eutils flag-o-matic pax-utils \
34 + distutils-r1 toolchain-funcs
35 +
36 +DESCRIPTION="Thread-based e-mail indexer, supporting quick search and tagging"
37 +HOMEPAGE="https://notmuchmail.org/"
38 +SRC_URI="${HOMEPAGE%/}/releases/${P}.tar.xz
39 + test? ( ${HOMEPAGE%/}/releases/test-databases/database-v1.tar.xz )"
40 +
41 +LICENSE="GPL-3"
42 +# Sub-slot corresponds to major wersion of libnotmuch.so.X.Y. Bump of Y is
43 +# meant to be binary backward compatible.
44 +SLOT="0/5"
45 +KEYWORDS="~alpha ~amd64 ~x86 ~x64-solaris"
46 +REQUIRED_USE="
47 + nmbug? ( python )
48 + python? ( ${PYTHON_REQUIRED_USE} )
49 + test? ( crypt emacs python valgrind )
50 + "
51 +IUSE="crypt doc emacs mutt nmbug python test valgrind"
52 +
53 +CDEPEND="
54 + !!<app-shells/bash-completion-1.9
55 + >=dev-libs/glib-2.22:2
56 + >=dev-libs/gmime-3.0.3:3.0
57 + >=dev-libs/xapian-1.4.8:=
58 + dev-python/sphinx
59 + sys-apps/texinfo
60 + >=sys-libs/zlib-1.2.5.2
61 + sys-libs/talloc
62 + crypt? ( dev-libs/gmime:3.0[crypt] )
63 + emacs? ( >=virtual/emacs-23 )
64 + python? ( ${PYTHON_DEPS} )
65 + "
66 +DEPEND="${CDEPEND}
67 + virtual/pkgconfig
68 + doc? (
69 + app-doc/doxygen
70 + dev-python/mock[${PYTHON_USEDEP}]
71 + )
72 + test? (
73 + app-misc/dtach
74 + || ( >=app-editors/emacs-23[libxml2] >=app-editors/emacs-vcs-23[libxml2] )
75 + sys-devel/gdb
76 + crypt? ( app-crypt/gnupg dev-libs/openssl )
77 + )
78 + valgrind? ( dev-util/valgrind )
79 + "
80 +RDEPEND="${CDEPEND}
81 + crypt? ( app-crypt/gnupg )
82 + nmbug? ( dev-vcs/git )
83 + mutt? (
84 + dev-perl/File-Which
85 + dev-perl/Mail-Box
86 + dev-perl/MailTools
87 + dev-perl/String-ShellQuote
88 + dev-perl/Term-ReadLine-Gnu
89 + virtual/perl-Digest-SHA
90 + virtual/perl-File-Path
91 + virtual/perl-Getopt-Long
92 + virtual/perl-Pod-Parser
93 + )
94 + "
95 +
96 +DOCS=( AUTHORS NEWS README )
97 +SITEFILE="50${PN}-gentoo.el"
98 +MY_LD_LIBRARY_PATH="${WORKDIR}/${P}/lib"
99 +PATCHES=(
100 + "${FILESDIR}"/${PV}-0001-Use-loopback-IP-address-rather-than-name.patch
101 +)
102 +
103 +bindings() {
104 + local ret=0
105 +
106 + if use $1; then
107 + pushd bindings/$1 || die
108 + shift
109 + "$@"
110 + ret=$?
111 + popd || die
112 + fi
113 +
114 + return $ret
115 +}
116 +
117 +pkg_pretend() {
118 + if has_version '<net-mail/notmuch-0.18'; then
119 + ewarn
120 + ewarn "There are few not backward compatible changes between"
121 + ewarn "<notmuch-0.18 and >=notmuch-0.18. See NEWS file"
122 + ewarn "(0.18 section) for details before first use!"
123 + ewarn
124 + fi
125 +}
126 +
127 +pkg_setup() {
128 + if use emacs; then
129 + elisp-need-emacs 23 || die "Emacs version too low"
130 + fi
131 +}
132 +
133 +src_unpack() {
134 + unpack "${P}".tar.xz
135 + if use test; then
136 + mkdir -p "${S}"/test/test-databases || die
137 + cp "${DISTDIR}"/database-v1.tar.xz "${S}"/test/test-databases/ || die
138 + fi
139 +}
140 +
141 +src_prepare() {
142 + default
143 +
144 + bindings python distutils-r1_src_prepare
145 + bindings python mv README README-python || die
146 + mv contrib/notmuch-mutt/README contrib/notmuch-mutt/README-mutt || die
147 +
148 + # assure that new Makefile.config will be generated
149 + rm -f Makefile.config || die
150 +
151 + sed -e 's@^install: all install-man install-info$@install: all install-info@' -i Makefile.local
152 +
153 + if use test; then
154 + append-cflags -g
155 + append-cxxflags -g
156 + fi
157 +
158 + if [[ ${CHOST} == *-solaris* ]] ; then
159 + append-ldflags -lnsl -lsocket # non-autoconf configure
160 + # disable gpgme test using too old gpg-key
161 + sed -i \
162 + -e '/GNUPGHOME=/d' \
163 + -e '/SESSION_KEY =/c|| false ;' \
164 + configure || die
165 + fi
166 +}
167 +
168 +src_configure() {
169 + python_setup # for sphinx
170 +
171 + local myeconfargs=(
172 + --bashcompletiondir="$(get_bashcompdir)"
173 + --emacslispdir="${EPREFIX}/${SITELISP}/${PN}"
174 + --emacsetcdir="${EPREFIX}/${SITEETC}/${PN}"
175 + --without-desktop
176 + --without-ruby
177 + --zshcompletiondir="${EPREFIX}/usr/share/zsh/site-functions"
178 + $(use_with emacs)
179 + $(use_with doc api-docs)
180 + )
181 + tc-export CC CXX
182 + econf "${myeconfargs[@]}"
183 +}
184 +
185 +src_compile() {
186 + python_setup # for sphinx
187 +
188 + V=1 default
189 + bindings python distutils-r1_src_compile
190 +
191 + if use mutt; then
192 + pushd contrib/notmuch-mutt || die
193 + emake notmuch-mutt.1
194 + popd || die
195 + fi
196 +
197 + if use doc; then
198 + pydocs() {
199 + pushd docs || die
200 + emake html
201 + rm -r html/_sources || die
202 + rm html/{objects.inv,.buildinfo} || die
203 + mkdir -p ../html && mv html ../html/python || die
204 + popd || die
205 + }
206 + LD_LIBRARY_PATH="${MY_LD_LIBRARY_PATH}" bindings python pydocs
207 + fi
208 +}
209 +
210 +src_test() {
211 + pax-mark -m notmuch
212 + LD_LIBRARY_PATH="${MY_LD_LIBRARY_PATH}" V=1 default
213 + pax-mark -ze notmuch
214 +}
215 +
216 +src_install() {
217 + default
218 +
219 + if use doc; then
220 + doman doc/_build/man/man?/*.?
221 + fi
222 +
223 + if use emacs; then
224 + elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die
225 + fi
226 +
227 + if use nmbug; then
228 + dobin devel/nmbug/nmbug
229 + dobin devel/nmbug/notmuch-report
230 + fi
231 +
232 + if use mutt; then
233 + pushd contrib/notmuch-mutt || die
234 + dobin notmuch-mutt
235 + doman notmuch-mutt.1
236 + insinto /etc/mutt
237 + doins notmuch-mutt.rc
238 + dodoc README-mutt
239 + popd || die
240 + fi
241 +
242 + DOCS="" bindings python distutils-r1_src_install
243 + use doc && bindings python dodoc -r html
244 +}
245 +
246 +pkg_preinst() {
247 + if use mutt && ! [[ -e ${ROOT}/etc/mutt/notmuch-mutt.rc ]]; then
248 + elog "To enable notmuch support in mutt, add the following line into"
249 + elog "your mutt config file, please:"
250 + elog ""
251 + elog " source /etc/mutt/notmuch-mutt.rc"
252 + fi
253 +}
254 +
255 +pkg_postinst() {
256 + use emacs && elisp-site-regen
257 +}
258 +
259 +pkg_postrm() {
260 + use emacs && elisp-site-regen
261 +}