summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/namazu')
-rw-r--r--app-text/namazu/ChangeLog10
-rw-r--r--app-text/namazu/files/namazu-2.0.21-search.patch56
-rw-r--r--app-text/namazu/namazu-2.0.21.ebuild84
3 files changed, 148 insertions, 2 deletions
diff --git a/app-text/namazu/ChangeLog b/app-text/namazu/ChangeLog
index 02a9b2bfd84c..5bd7d1622c77 100644
--- a/app-text/namazu/ChangeLog
+++ b/app-text/namazu/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-text/namazu
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/namazu/ChangeLog,v 1.35 2010/08/12 09:18:37 maekke Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-text/namazu/ChangeLog,v 1.36 2011/10/30 07:11:31 naota Exp $
+
+*namazu-2.0.21 (30 Oct 2011)
+
+ 30 Oct 2011; Naohiro Aota <naota@gentoo.org> +namazu-2.0.21.ebuild,
+ +files/namazu-2.0.21-search.patch:
+ Version bump.
12 Aug 2010; Markus Meier <maekke@gentoo.org> namazu-2.0.20.ebuild:
amd64 stable, bug #306051
diff --git a/app-text/namazu/files/namazu-2.0.21-search.patch b/app-text/namazu/files/namazu-2.0.21-search.patch
new file mode 100644
index 000000000000..6a8e10e8e1a0
--- /dev/null
+++ b/app-text/namazu/files/namazu-2.0.21-search.patch
@@ -0,0 +1,56 @@
+--- a/nmz/search.c 2011-08-05 09:26:47.000000000 +0900
++++ b/nmz/search.c 2011-08-05 09:32:25.000000000 +0900
+@@ -572,7 +572,7 @@
+ {
+ if (*expr == '*' && expr[strlen(expr) - 1] != '*') {
+ /* If suffix match such as '*bar', enforce it into regex */
+- strcpy(expr, expr + 1);
++ memmove(expr, expr + 1, strlen(expr));
+ escape_meta_characters(expr, BUFSIZE * 2);
+ strncat(expr, "$", BUFSIZE * 2 - strlen(expr) - 1);
+ expr[BUFSIZE * 2 - 1] = '\0';
+@@ -584,7 +584,7 @@
+ expr[BUFSIZE * 2 - 1] = '\0';
+ } else if (*expr == '*' && expr[strlen(expr) - 1] == '*') {
+ /* If internal match such as '*foo*', enforce it into regex */
+- strcpy(expr, expr + 1);
++ memmove(expr, expr + 1, strlen(expr));
+ expr[strlen(expr) - 1] = '\0';
+ escape_meta_characters(expr, BUFSIZE * 2);
+ } else if (*expr == '/' && expr[strlen(expr) - 1] == '/') {
+@@ -592,7 +592,7 @@
+ nmz_debug_printf("do REGEX search\n");
+ /* Genuine regex */
+ /* Remove the both of '/' chars at begging and end of string */
+- strcpy(expr, expr + 1);
++ memmove(expr, expr + 1, strlen(expr));
+ expr[strlen(expr) - 1]= '\0';
+ } else {
+ nmz_debug_printf("disabled REGEX search\n");
+@@ -605,7 +605,7 @@
+ || (*expr == '{' && expr[strlen(expr) - 1] == '}'))
+ {
+ /* Delimiters of field search */
+- strcpy(expr, expr + 1);
++ memmove(expr, expr + 1, strlen(expr));
+ expr[strlen(expr) - 1] = '\0';
+ }
+ escape_meta_characters(expr, BUFSIZE * 2);
+@@ -695,7 +695,7 @@
+ delete_beginning_backslash(char *str)
+ {
+ if (*str == '\\') {
+- strcpy(str, str + 1);
++ memmove(str, str + 1, strlen(str));
+ }
+ }
+
+@@ -935,7 +935,7 @@
+ if ((strlen(str) >= 3 && (*str == '"' && str[strlen(str) - 1] == '"'))
+ || (*str == '{' && str[strlen(str) - 1] == '}'))
+ {
+- strcpy(str, str + 1);
++ memmove(str , str + 1, strlen(str));
+ str[strlen(str) - 1]= '\0';
+ }
+ }
diff --git a/app-text/namazu/namazu-2.0.21.ebuild b/app-text/namazu/namazu-2.0.21.ebuild
new file mode 100644
index 000000000000..bdb223e50fa9
--- /dev/null
+++ b/app-text/namazu/namazu-2.0.21.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-text/namazu/namazu-2.0.21.ebuild,v 1.1 2011/10/30 07:11:31 naota Exp $
+
+inherit eutils elisp-common
+
+IUSE="emacs nls tk linguas_ja"
+
+DESCRIPTION="Namazu is a full-text search engine"
+HOMEPAGE="http://www.namazu.org/"
+SRC_URI="http://www.namazu.org/stable/${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+SLOT="0"
+
+RDEPEND=">=dev-perl/File-MMagic-1.20
+ emacs? ( virtual/emacs )
+ linguas_ja? (
+ app-i18n/nkf
+ || (
+ dev-perl/Text-Kakasi
+ app-i18n/kakasi
+ app-text/chasen
+ app-text/mecab
+ )
+ )
+ nls? ( virtual/libintl )
+ tk? (
+ dev-lang/tk
+ www-client/lynx
+ )"
+
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${PN}-2.0.19-gentoo.patch"
+ epatch "${FILESDIR}/${PN}-2.0.21-search.patch"
+}
+
+src_compile() {
+ local myconf
+
+ use tk && myconf="--with-namazu=/usr/bin/namazu
+ --with-mknmz=/usr/bin/mknmz
+ --with-indexdir=/var/lib/namazu/index"
+
+ econf \
+ $(use_enable nls) \
+ $(use_enable tk tknamazu) \
+ ${myconf} || die
+ emake || die
+
+ if use emacs; then
+ cd lisp
+ elisp-compile gnus-nmz-1.el namazu.el || die
+ fi
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die
+
+ dodoc AUTHORS CREDITS ChangeLog* HACKING* NEWS README* THANKS TODO etc/*.png
+ dohtml -r doc/*
+
+ if use emacs; then
+ elisp-install ${PN} lisp/gnus-nmz-1.el* lisp/namazu.el* || die
+ elisp-site-file-install "${FILESDIR}"/50${PN}-gentoo.el || die
+
+ docinto lisp
+ dodoc lisp/ChangeLog*
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}