# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Stefan Wagner <stw@bit-strickerei.de>
# Maintainer: Stefan Wagner <stw@bit-strickerei.de>
pkgname=notmuch
pkgver=0.25
pkgrel=1
pkgdesc="E-Mail index, search and tagging"
url="https://notmuchmail.org/"
arch="all"
license="GPL3"
makedepends="gzip xapian-core-dev gmime-dev talloc-dev py-sphinx
	py-requests python2-dev python3-dev bash-completion"
options="!check"
checkdepends="sed coreutils diffutils bash tar mdocml grep"
subpackages="
	py2-$pkgname:py2
	py3-$pkgname:py3
	$pkgname-dev
	$pkgname-doc
	$pkgname-libs
	$pkgname-emacs:emacs
	$pkgname-vim:vim:noarch
	$pkgname-zsh-completion:zshcomp:noarch
	$pkgname-bash-completion:bashcomp:noarch"
source="https://notmuchmail.org/releases/$pkgname-$pkgver.tar.gz
	fix-tests.patch"

builddir="$srcdir/$pkgname-$pkgver"
build() {
	cd "$builddir"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var \
		--bashcompletiondir=/usr/share/bash-completion/completions \
		--zshcompletiondir=/usr/share/zsh/site-functions
	make PREFIX=/usr DESTDIR="$pkgdir"

	cd "$builddir"/bindings/python
	python2 setup.py build
	python3 setup.py build
}

package() {
	make PREFIX=/usr DESTDIR="$pkgdir" \
		-C "$builddir" install
}

check() {
	cd "$builddir"/test
	make test-binaries

	local test=
	for test in T*.sh; do
		name="$(basename "$test")"
		case "${name%%.*}" in
		# Requires dtach ↦ doesn't work on the builders
		*emacs*|T355-smime|T350-crypto) continue ;;

		# XXX: Doesn't pass on the builders for some reason
		T140-excludes) continue ;;

		# FIXME: These should pass but currently don't
		T050-new|T150-tagging) continue ;;
		esac

		./${test}
	done
}

vim() {
	depends="vim notmuch"
	pkgdesc="Vim plugins for $pkgname"

	make -C "$builddir/vim" DESTDIR="$subpkgdir" \
		prefix="/usr/share/vim/vimfiles" install
}

emacs() {
	depends="emacs notmuch"
	pkgdesc="Emacs plugins for $pkgname"

	mkdir -p "$subpkgdir"/usr/share/
	mv "$pkgdir"/usr/share/emacs/ "$subpkgdir"/usr/share/emacs/

	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/notmuch-emacs-mua "$subpkgdir"/usr/bin/
}

bashcomp() {
	depends=""
	pkgdesc="Bash completions for $pkgname"
	install_if="$pkgname=$pkgver-r$pkgrel bash-completion"

	mkdir -p "$subpkgdir"/usr/share/bash-completion/completions/
	mv "$pkgdir"/usr/share/bash-completion/completions/$pkgname \
		"$subpkgdir"/usr/share/bash-completion/completions/
}

zshcomp() {
	depends=""
	pkgdesc="Zsh completions for $pkgname"
	install_if="$pkgname=$pkgver-r$pkgrel zsh"

	mkdir -p "$subpkgdir"/usr/share/zsh/site-functions/
	mv "$pkgdir"/usr/share/zsh/site-functions/_${pkgname} \
		"$subpkgdir"/usr/share/zsh/site-functions/
}

_py() {
	local python="$1"
	pkgdesc="$pkgdesc (for $python)"
	depends="$depends $python"
	install_if="$pkgname=$pkgver-r$pkgrel $python"

	cd "$builddir"/bindings/python
	$python setup.py install --prefix=/usr --root="$subpkgdir"
}

py2() {
	_py python2
}

py3() {
	_py python3
}

sha512sums="5f4961818c8c0350e3fbbedd86f407a55fecf211971003a770d99ea2db89bb6b98c2294e114d6abff4d40985f506b7f4b52736a7ee5c78390eb4f2363a65c6f5  notmuch-0.25.tar.gz
430e8f02b194b0582dfd7c66a2791a0071824e1d215993a6daf89c8d2a1ee7f73a6202136b1d890fc8920a4dc309ae976da8a8b8fc8b90e489d3c04f1592876c  fix-tests.patch"