| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| |
| DISTUTILS_OPTIONAL=1 |
| PYTHON_COMPAT=( python{2_7,3_3,3_4} ) |
| |
| inherit bash-completion-r1 elisp-common eutils pax-utils distutils-r1 \ |
| toolchain-funcs |
| |
| DESCRIPTION="Thread-based e-mail indexer, supporting quick search and tagging" |
| HOMEPAGE="http://notmuchmail.org/" |
| SRC_URI="${HOMEPAGE%/}/releases/${P}.tar.gz" |
| |
| LICENSE="GPL-3" |
| # Sub-slot corresponds to major wersion of libnotmuch.so.X.Y. Bump of Y is |
| # meant to be binary backward compatible. |
| SLOT="0/3" |
| KEYWORDS="amd64 x86" |
| REQUIRED_USE=" |
| python? ( ${PYTHON_REQUIRED_USE} ) |
| test? ( crypt emacs python ) |
| " |
| IUSE="crypt debug doc emacs mutt nmbug python test" |
| |
| CDEPEND=" |
| >=app-shells/bash-completion-1.9 |
| >=dev-libs/glib-2.22 |
| >=dev-libs/gmime-2.6.7 |
| !=dev-libs/gmime-2.6.19 |
| <dev-libs/xapian-1.3 |
| >=sys-libs/zlib-1.2.5.2 |
| sys-libs/talloc |
| debug? ( dev-util/valgrind ) |
| emacs? ( >=virtual/emacs-23 ) |
| python? ( ${PYTHON_DEPS} ) |
| x86? ( >=dev-libs/xapian-1.2.7-r2 ) |
| " |
| DEPEND="${CDEPEND} |
| virtual/pkgconfig |
| doc? ( python? ( dev-python/sphinx[${PYTHON_USEDEP}] ) ) |
| test? ( app-misc/dtach || ( >=app-editors/emacs-23[libxml2] |
| >=app-editors/emacs-vcs-23[libxml2] ) sys-devel/gdb ) |
| " |
| RDEPEND="${CDEPEND} |
| crypt? ( app-crypt/gnupg ) |
| nmbug? ( dev-vcs/git virtual/perl-File-Temp virtual/perl-Pod-Parser ) |
| mutt? ( dev-perl/File-Which dev-perl/Mail-Box dev-perl/MailTools |
| dev-perl/String-ShellQuote dev-perl/Term-ReadLine-Gnu |
| virtual/perl-Digest-SHA virtual/perl-File-Path virtual/perl-Getopt-Long |
| virtual/perl-Pod-Parser |
| ) |
| " |
| |
| DOCS=( AUTHORS NEWS README ) |
| SITEFILE="50${PN}-gentoo.el" |
| MY_LD_LIBRARY_PATH="${WORKDIR}/${P}/lib" |
| MY_PATCHES=( ) |
| |
| bindings() { |
| local ret=0 |
| |
| if use $1; then |
| pushd bindings/$1 || die |
| shift |
| "$@" |
| ret=$? |
| popd || die |
| fi |
| |
| return $ret |
| } |
| |
| pkg_pretend() { |
| if has_version '<net-mail/notmuch-0.18'; then |
| ewarn |
| ewarn "Notmuch 0.18 comes with few not backward compatible changes." |
| ewarn "See NEWS file for details before first use!" |
| ewarn |
| fi |
| } |
| |
| pkg_setup() { |
| if use emacs; then |
| elisp-need-emacs 23 || die "Emacs version too low" |
| fi |
| } |
| |
| src_prepare() { |
| [[ "${MY_PATCHES[@]}" ]] && epatch "${MY_PATCHES[@]}" |
| |
| bindings python distutils-r1_src_prepare |
| bindings python mv README README-python || die |
| mv contrib/notmuch-mutt/README contrib/notmuch-mutt/README-mutt || die |
| } |
| |
| src_configure() { |
| local myeconfargs=( |
| --bashcompletiondir="$(get_bashcompdir)" |
| --emacslispdir="${EPREFIX}/${SITELISP}/${PN}" |
| --emacsetcdir="${EPREFIX}/${SITEETC}/${PN}" |
| --with-gmime-version=2.6 |
| --zshcompletiondir="${EPREFIX}/usr/share/zsh/site-functions" |
| $(use_with emacs) |
| ) |
| tc-export CC CXX |
| econf "${myeconfargs[@]}" |
| } |
| |
| src_compile() { |
| V=1 default |
| bindings python distutils-r1_src_compile |
| |
| if use mutt; then |
| pushd contrib/notmuch-mutt || die |
| emake notmuch-mutt.1 |
| popd || die |
| fi |
| |
| if use doc; then |
| pydocs() { |
| pushd docs || die |
| emake html |
| mv html ../python || die |
| popd || die |
| } |
| LD_LIBRARY_PATH="${MY_LD_LIBRARY_PATH}" bindings python pydocs |
| fi |
| } |
| |
| src_test() { |
| pax-mark -m notmuch |
| emake download-test-databases |
| LD_LIBRARY_PATH="${MY_LD_LIBRARY_PATH}" default |
| pax-mark -ze notmuch |
| } |
| |
| src_install() { |
| default |
| |
| if use emacs; then |
| elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die |
| fi |
| |
| if use nmbug; then |
| dobin devel/nmbug/nmbug |
| dobin devel/nmbug/nmbug-status |
| fi |
| |
| if use mutt; then |
| pushd contrib/notmuch-mutt || die |
| dobin notmuch-mutt |
| doman notmuch-mutt.1 |
| insinto /etc/mutt |
| doins notmuch-mutt.rc |
| dodoc README-mutt |
| popd || die |
| fi |
| |
| DOCS="" bindings python distutils-r1_src_install |
| use doc && bindings python dohtml -r python |
| } |
| |
| pkg_preinst() { |
| if use mutt && ! [[ -e ${ROOT}/etc/mutt/notmuch-mutt.rc ]]; then |
| elog "To enable notmuch support in mutt, add the following line into" |
| elog "your mutt config file, please:" |
| elog "" |
| elog " source /etc/mutt/notmuch-mutt.rc" |
| fi |
| } |
| |
| pkg_postinst() { |
| use emacs && elisp-site-regen |
| } |
| |
| pkg_postrm() { |
| use emacs && elisp-site-regen |
| } |