From f240ba62a066f16cb81cc62b8a2594690ec143a5 Mon Sep 17 00:00:00 2001 From: Amadeusz Piotr Żołnowski Date: Sun, 11 Dec 2011 20:51:27 +0000 Subject: net-mail/notmuch: Version bump to 0.10.2. (Portage version: 2.1.10.39/cvs/Linux x86_64) --- net-mail/notmuch/ChangeLog | 15 +- net-mail/notmuch/files/0.10.2-fix-test-build.patch | 104 ++++++++++++++ net-mail/notmuch/notmuch-0.10.2.ebuild | 155 +++++++++++++++++++++ 3 files changed, 273 insertions(+), 1 deletion(-) create mode 100644 net-mail/notmuch/files/0.10.2-fix-test-build.patch create mode 100644 net-mail/notmuch/notmuch-0.10.2.ebuild (limited to 'net-mail/notmuch') diff --git a/net-mail/notmuch/ChangeLog b/net-mail/notmuch/ChangeLog index dc27dcd2872a..881f000872c8 100644 --- a/net-mail/notmuch/ChangeLog +++ b/net-mail/notmuch/ChangeLog @@ -1,6 +1,19 @@ # ChangeLog for net-mail/notmuch # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-mail/notmuch/ChangeLog,v 1.18 2011/12/02 08:40:56 aidecoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-mail/notmuch/ChangeLog,v 1.19 2011/12/11 20:51:27 aidecoe Exp $ + +*notmuch-0.10.2 (11 Dec 2011) + + 11 Dec 2011; Amadeusz Żołnowski + +files/0.10.2-fix-test-build.patch, +notmuch-0.10.2.ebuild: + Version bump. + + NEWS + ~~~~ + Fix crash in python bindings. + + The python bindings did not call g_type_init, which caused crashes for some, + but not all users. 02 Dec 2011; Amadeusz Żołnowski -files/0.10-fix-test-build.patch, -notmuch-0.10.ebuild: diff --git a/net-mail/notmuch/files/0.10.2-fix-test-build.patch b/net-mail/notmuch/files/0.10.2-fix-test-build.patch new file mode 100644 index 000000000000..7b326fb85c61 --- /dev/null +++ b/net-mail/notmuch/files/0.10.2-fix-test-build.patch @@ -0,0 +1,104 @@ +From dc1fae07d2896d9eace61989b7c25d9434ee7f3f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= +Date: Fri, 25 Nov 2011 10:08:47 +0100 +Subject: [PATCH] Build symbol-test with make instead of hardcoding in + symbol-hiding. + +If symbol-test is built in symbol-hiding with hardcoded g++ invokation, it's +not so easy to pass $(srcdir) which is required to find notmuch.h when srcdir +and builddir are separate directories. + +Fixed warnings in symbol-test.cc, btw. +--- + test/.gitignore | 1 + + test/Makefile.local | 5 ++++- + test/basic | 2 +- + test/symbol-hiding | 3 +-- + test/symbol-test.cc | 9 ++++----- + 5 files changed, 11 insertions(+), 9 deletions(-) + +diff --git a/test/.gitignore b/test/.gitignore +index 9e97052..7e30e8d 100644 +--- a/test/.gitignore ++++ b/test/.gitignore +@@ -1,4 +1,5 @@ + test-results + corpus.mail + smtp-dummy ++symbol-test + tmp.* +diff --git a/test/Makefile.local b/test/Makefile.local +index 8eb0433..a672fd3 100644 +--- a/test/Makefile.local ++++ b/test/Makefile.local +@@ -11,8 +11,11 @@ smtp_dummy_modules = $(smtp_dummy_srcs:.c=.o) + $(dir)/smtp-dummy: $(smtp_dummy_modules) + $(call quiet,CC) $^ -o $@ + ++$(dir)/symbol-test: $(dir)/symbol-test.o ++ $(call quiet,CC) $^ -o $@ -Llib -lnotmuch -lxapian ++ + .PHONY: test check +-test: all $(dir)/smtp-dummy ++test: all $(dir)/smtp-dummy $(dir)/symbol-test + @${dir}/notmuch-test $(OPTIONS) + + check: test +diff --git a/test/basic b/test/basic +index 38db2ba..5463bf8 100755 +--- a/test/basic ++++ b/test/basic +@@ -56,7 +56,7 @@ tests_in_suite=$(for i in $TESTS; do echo $i; done | sort) + available=$(ls -1 $TEST_DIRECTORY/ | \ + sed -r -e "/^(aggregate-results.sh|Makefile|Makefile.local|notmuch-test)/d" \ + -e "/^(README|test-lib.sh|test-lib.el|test-results|tmp.*|valgrind|corpus*)/d" \ +- -e "/^(emacs.expected-output|smtp-dummy|smtp-dummy.c|test-verbose|symbol-test.cc)/d" \ ++ -e "/^(emacs.expected-output|smtp-dummy|smtp-dummy.c|test-verbose|symbol-test.cc|symbol-test|symbol-test.o)/d" \ + -e "/^(test.expected-output|.*~)/d" \ + -e "/^(gnupg-secret-key.asc)/d" \ + -e "/^(gnupg-secret-key.NOTE)/d" \ +diff --git a/test/symbol-hiding b/test/symbol-hiding +index d0b31ae..f67b653 100755 +--- a/test/symbol-hiding ++++ b/test/symbol-hiding +@@ -12,13 +12,12 @@ test_description='exception symbol hiding' + . ./test-lib.sh + + run_test(){ +- result=$(LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib ./symbol-test 2>&1) ++ result=$(LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib $TEST_DIRECTORY/symbol-test 2>&1) + } + + output="A Xapian exception occurred opening database: Couldn't stat 'fakedb/.notmuch/xapian' + caught No chert database found at path \`./nonexistant'" + +-g++ -o symbol-test -I$TEST_DIRECTORY/../lib $TEST_DIRECTORY/symbol-test.cc -L$TEST_DIRECTORY/../lib -lnotmuch -lxapian + mkdir -p fakedb/.notmuch + test_expect_success 'running test' run_test + test_begin_subtest 'checking output' +diff --git a/test/symbol-test.cc b/test/symbol-test.cc +index 1de06ea..bfbe38f 100644 +--- a/test/symbol-test.cc ++++ b/test/symbol-test.cc +@@ -1,14 +1,13 @@ + #include + #include + #include +-main (int argc, char **argv){ ++int main (){ + +- notmuch_database_t *notmuch +- = notmuch_database_open ("fakedb", +- NOTMUCH_DATABASE_MODE_READ_ONLY); ++ //notmuch_database_t *notmuch = ++ notmuch_database_open ("fakedb", NOTMUCH_DATABASE_MODE_READ_ONLY); + + try{ +- (void)new Xapian::WritableDatabase ("./nonexistant", Xapian::DB_OPEN); ++ (void)new Xapian::WritableDatabase ("./nonexistant", Xapian::DB_OPEN); + } catch (const Xapian::Error &error) { + printf("caught %s\n",error.get_msg().c_str()); + return 0; +-- +1.7.8.rc3 + diff --git a/net-mail/notmuch/notmuch-0.10.2.ebuild b/net-mail/notmuch/notmuch-0.10.2.ebuild new file mode 100644 index 000000000000..ad72d6904705 --- /dev/null +++ b/net-mail/notmuch/notmuch-0.10.2.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-mail/notmuch/notmuch-0.10.2.ebuild,v 1.1 2011/12/11 20:51:26 aidecoe Exp $ + +EAPI=4 + +PYTHON_DEPEND="python? 2:2.6" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="2.[45] 3.*" +RUBY="/usr/bin/ruby18" +RDOC="/usr/bin/rdoc18" + +inherit elisp-common distutils +inherit autotools-utils + +DESCRIPTION="The mail indexer" +HOMEPAGE="http://notmuchmail.org/" +SRC_URI="${HOMEPAGE}/releases/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +REQUIRED_USE="test? ( crypt emacs )" +IUSE="bash-completion crypt debug doc emacs python ruby test vim zsh-completion" + +CDEPEND=" + >=dev-libs/glib-2.14 + dev-libs/gmime:2.4 + dev-libs/xapian + doc? ( python? ( dev-python/sphinx ) ) + sys-libs/talloc + debug? ( dev-util/valgrind ) + emacs? ( >=virtual/emacs-23 ) + ruby? ( dev-lang/ruby:1.8 ) + x86? ( >=dev-libs/xapian-1.2.7-r2 ) + vim? ( || ( >=app-editors/vim-7.0 >=app-editors/gvim-7.0 ) ) + " +DEPEND="${CDEPEND} + dev-util/pkgconfig + test? ( app-misc/dtach sys-devel/gdb ) + " +RDEPEND="${CDEPEND} + crypt? ( app-crypt/gnupg ) + zsh-completion? ( app-shells/zsh ) + " + +PATCHES=( "${FILESDIR}/${PV}-fix-test-build.patch" ) +DOCS=( AUTHORS NEWS README TODO ) +SITEFILE="50${PN}-gentoo.el" + +bindings() { + if use $1; then + pushd bindings/$1 || die + shift + $@ + popd || die + fi +} + +pkg_setup() { + if use emacs; then + elisp-need-emacs 23 || die "Emacs version too low" + fi + use python && python_pkg_setup +} + +src_prepare() { + autotools-utils_src_prepare + bindings python distutils_src_prepare + + r_fix() { + local pattern="\(find_library('notmuch', '[^']*', '\)\([^']*\)\(')\)" + local replace="\1${WORKDIR}/${PF}_build/lib\3" + + sed -i "s|$pattern|$replace|" extconf.rb || die + } + bindings ruby r_fix +} + +src_configure() { + local myeconfargs=( + --bashcompletiondir="${ROOT}/usr/share/bash-completion" + --emacslispdir="${ROOT}/${SITELISP}/${PN}" + --emacsetcdir="${ROOT}/${SITEETC}/${PN}" + --zshcompletiondir="${ROOT}/usr/share/zsh/site-functions" + $(use_with bash-completion) + $(use_with emacs) + $(use_with zsh-completion) + ) + autotools-utils_src_configure +} + +src_compile() { + autotools-utils_src_compile + bindings python distutils_src_compile + + r_make() { + ${RUBY} extconf.rb || die + emake + } + bindings ruby r_make + + if use doc; then + pydocs() { + pushd docs || die + emake html + mv html ../python || die + popd || die + } + + rdocs() { + ${RDOC} --main 'Notmuch' --title 'Notmuch Ruby API' --op ruby *.c + } + + LD_LIBRARY_PATH="${WORKDIR}/${PF}_build/lib" bindings python pydocs + bindings ruby rdocs + fi +} + +src_install() { + autotools-utils_src_install + + if use emacs; then + elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die + fi + + if use vim; then + insinto /usr/share/vim/vimfiles + doins -r vim/plugin vim/syntax + fi + + DOCS="" bindings python distutils_src_install + bindings ruby emake DESTDIR="'${D}'" install + + if use doc; then + bindings python dohtml -r python + bindings ruby dohtml -r ruby + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen + use python && distutils_pkg_postinst + + if use python; then + echo + elog "Python API documentation is also available online at:" + elog " http://packages.python.org/notmuch/" + fi +} + +pkg_postrm() { + use emacs && elisp-site-regen + use python && distutils_pkg_postrm +} -- cgit v1.2.3-65-gdbad