summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/nano')
-rw-r--r--app-editors/nano/ChangeLog8
-rw-r--r--app-editors/nano/Manifest25
-rw-r--r--app-editors/nano/files/digest-nano-1.3.11-r13
-rw-r--r--app-editors/nano/files/nano-1.3.11-regexfix.patch253
-rw-r--r--app-editors/nano/nano-1.3.11-r1.ebuild80
5 files changed, 361 insertions, 8 deletions
diff --git a/app-editors/nano/ChangeLog b/app-editors/nano/ChangeLog
index c7e10124b740..c4ee625d1bf5 100644
--- a/app-editors/nano/ChangeLog
+++ b/app-editors/nano/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-editors/nano
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-editors/nano/ChangeLog,v 1.105 2006/04/27 12:30:29 marienz Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/nano/ChangeLog,v 1.106 2006/05/09 02:03:05 vapier Exp $
+
+*nano-1.3.11-r1 (09 May 2006)
+
+ 09 May 2006; Mike Frysinger <vapier@gentoo.org>
+ +files/nano-1.3.11-regexfix.patch, +nano-1.3.11-r1.ebuild:
+ Grab patch from upstream for crashes in regex code.
27 Apr 2006; Marien Zwart <marienz@gentoo.org> files/digest-nano-1.2.5,
files/digest-nano-1.3.9, files/digest-nano-1.3.10-r1,
diff --git a/app-editors/nano/Manifest b/app-editors/nano/Manifest
index f6f33a75dc60..38519609c453 100644
--- a/app-editors/nano/Manifest
+++ b/app-editors/nano/Manifest
@@ -9,6 +9,10 @@ AUX nano-1.3.10-disp.patch 659 RMD160 4d9678202f0b7ccb565c814aeece13bc6953df48 S
MD5 4fd1c712601540686888c2f8e4927ab3 files/nano-1.3.10-disp.patch 659
RMD160 4d9678202f0b7ccb565c814aeece13bc6953df48 files/nano-1.3.10-disp.patch 659
SHA256 e6ab908907cf9ecfeefda2df7b5d6fdb5f7eb577927574b5cbbdc4a00da616de files/nano-1.3.10-disp.patch 659
+AUX nano-1.3.11-regexfix.patch 8774 RMD160 0a77ee53e19b0f8522e4f59d86bea97d0d9b5d42 SHA1 9233fe18ef98b2fdcf3f56f9ec9a7bc7cb24a3a7 SHA256 133d8d2f0856446b1701088aacb31dbda514eef48d417ebdff72355cebc3b398 size 8774
+MD5 7f3f15cc793f57e82308ea7f1161ea1f files/nano-1.3.11-regexfix.patch 8774
+RMD160 0a77ee53e19b0f8522e4f59d86bea97d0d9b5d42 files/nano-1.3.11-regexfix.patch 8774
+SHA256 133d8d2f0856446b1701088aacb31dbda514eef48d417ebdff72355cebc3b398 files/nano-1.3.11-regexfix.patch 8774
AUX nanorc-gentoo 1898 RMD160 df026420d78b71d4bd04bf15eaabbc862b2d2c89 SHA1 da4a8151ac4bd87ef01cf46abe1fa9f9183a41b7 SHA256 e4f58765d1cb6a0548a6a7c6c55873fbccdfa27cef63339f82b1ea999f4faff0 size 1898
MD5 9e3cff28391bfad1799dfa30d80ed9ca files/nanorc-gentoo 1898
RMD160 df026420d78b71d4bd04bf15eaabbc862b2d2c89 files/nanorc-gentoo 1898
@@ -29,6 +33,10 @@ EBUILD nano-1.3.10-r1.ebuild 1982 RMD160 fe0555b1cc2d2484e512504e8bb44bbd8012463
MD5 cdda33f97c7d8d40431d4c6c63db380f nano-1.3.10-r1.ebuild 1982
RMD160 fe0555b1cc2d2484e512504e8bb44bbd80124639 nano-1.3.10-r1.ebuild 1982
SHA256 76a8b9ba2af769fbb99ac57c35d259a00371a4f4e0a388d77657c29619f62330 nano-1.3.10-r1.ebuild 1982
+EBUILD nano-1.3.11-r1.ebuild 1971 RMD160 aac492464e736a6065d4b2e071980c9a4c315cef SHA1 cc626e506b7450b42b97285d29e1c68b0f2e70f8 SHA256 3c60cf0704e57fd9781cdc9ea1e3537467ef76032609b76e4a74f4d3bf97cc60 size 1971
+MD5 5b12c89dda5e239d5a2e86ac2ca4c697 nano-1.3.11-r1.ebuild 1971
+RMD160 aac492464e736a6065d4b2e071980c9a4c315cef nano-1.3.11-r1.ebuild 1971
+SHA256 3c60cf0704e57fd9781cdc9ea1e3537467ef76032609b76e4a74f4d3bf97cc60 nano-1.3.11-r1.ebuild 1971
EBUILD nano-1.3.11.ebuild 1887 RMD160 bc7a28b987e370ed9a6ff2b20b9c1ecc6941eda0 SHA1 5624656236e824567e948a2a3c23f6012dfbf57f SHA256 21a6cdc5406397671e10c451625dc3ee0f4f4e75c51873af6fca73a02526f04e size 1887
MD5 5788aed048f4545b4b9be986b59fe753 nano-1.3.11.ebuild 1887
RMD160 bc7a28b987e370ed9a6ff2b20b9c1ecc6941eda0 nano-1.3.11.ebuild 1887
@@ -37,10 +45,10 @@ EBUILD nano-1.3.9.ebuild 1863 RMD160 ddb8f3147ca2cd911a79322f0e90f13e22279e14 SH
MD5 0d9a4adcb9317265eb1628442d4ddeda nano-1.3.9.ebuild 1863
RMD160 ddb8f3147ca2cd911a79322f0e90f13e22279e14 nano-1.3.9.ebuild 1863
SHA256 17652a8a99439d35baec735eec3bcddfd1c917016d6b13e9e5dbc1c6cc01d14d nano-1.3.9.ebuild 1863
-MISC ChangeLog 11849 RMD160 1d5f6da27cb7eb3bc08ac2c50e4148bbf3581400 SHA1 74f2d2b99920f1bbb040546bbdaa934642062ae2 SHA256 6c956737ba4541504e3c09a61ecb6c420b62b50bd3504778e3c23f79ea0771d8 size 11849
-MD5 a9b18754021c6085fc44af4d22e33962 ChangeLog 11849
-RMD160 1d5f6da27cb7eb3bc08ac2c50e4148bbf3581400 ChangeLog 11849
-SHA256 6c956737ba4541504e3c09a61ecb6c420b62b50bd3504778e3c23f79ea0771d8 ChangeLog 11849
+MISC ChangeLog 12045 RMD160 153b625823a92dcc48202673cc9d2408a57d5922 SHA1 3282900e223c649430d1c4a479f6ba8b8f2468ff SHA256 5c3f38f889b559f277e83886a4bea983044b3d508b06aca9c6315567de306ae8 size 12045
+MD5 d89eb5d7314ba6b33a53779dd5e4cf20 ChangeLog 12045
+RMD160 153b625823a92dcc48202673cc9d2408a57d5922 ChangeLog 12045
+SHA256 5c3f38f889b559f277e83886a4bea983044b3d508b06aca9c6315567de306ae8 ChangeLog 12045
MISC metadata.xml 1015 RMD160 37b6ed999eb17334da133052b31559ed1114b7c5 SHA1 d61278aeff2b1e410144c57c58490ae6099e2aa3 SHA256 79a849e6d5d37060b2b14a3b5addfdf9a9d01b928caeade6c6b078851713d57b size 1015
MD5 b297797b490f7c6ca8d5f40f2d6347cc metadata.xml 1015
RMD160 37b6ed999eb17334da133052b31559ed1114b7c5 metadata.xml 1015
@@ -54,13 +62,16 @@ SHA256 eed5594b162d1fc3fc091d009deb203afe6d6893c8058fa7d594bc33a6e36120 files/di
MD5 3d33eea38d45a28d1124745478dfab1b files/digest-nano-1.3.11 238
RMD160 7447b52eecd4b4eb74ebfebeaa33af9d045cca33 files/digest-nano-1.3.11 238
SHA256 52f1a86cfaac6443a84afd7bd023597650db74e61389483bcb57dbbd7e1e8bf3 files/digest-nano-1.3.11 238
+MD5 3d33eea38d45a28d1124745478dfab1b files/digest-nano-1.3.11-r1 238
+RMD160 7447b52eecd4b4eb74ebfebeaa33af9d045cca33 files/digest-nano-1.3.11-r1 238
+SHA256 52f1a86cfaac6443a84afd7bd023597650db74e61389483bcb57dbbd7e1e8bf3 files/digest-nano-1.3.11-r1 238
MD5 0b8f92f5dc4703450a9b033b8b6623ac files/digest-nano-1.3.9 235
RMD160 a571db974a4904f108d3603c1cc2b4ac2b7e27fa files/digest-nano-1.3.9 235
SHA256 3a3eed03d075b165722c59b4f47ffb1e9ec1d9c44a433cb6fce458cbaea5b14f files/digest-nano-1.3.9 235
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
-iD8DBQFEVGjt2+ySkm8kpY0RAnA1AJ9C28jeLUcMQC5CCEP1OnG2FlncnACgxKX3
-6cQMchFYAvnFeEIxzadT7hc=
-=Pm7X
+iD8DBQFEX/il2+ySkm8kpY0RAjf2AJ9au8Rsxl/APPyl77l1yFZVS5Mx5QCfYhxP
+xxNkHlAjCiGfVEvcgJBI/bI=
+=hqIE
-----END PGP SIGNATURE-----
diff --git a/app-editors/nano/files/digest-nano-1.3.11-r1 b/app-editors/nano/files/digest-nano-1.3.11-r1
new file mode 100644
index 000000000000..4134e437cf8b
--- /dev/null
+++ b/app-editors/nano/files/digest-nano-1.3.11-r1
@@ -0,0 +1,3 @@
+MD5 ad6c2270fd674065ef994a58d3a8a7b7 nano-1.3.11.tar.gz 1172504
+RMD160 44156620181f5b968375c682b3713d869810f193 nano-1.3.11.tar.gz 1172504
+SHA256 5f8d718bf5274be6a3a7100ae6693b5001ad15f4b505f0ba670cc28f9b9fc798 nano-1.3.11.tar.gz 1172504
diff --git a/app-editors/nano/files/nano-1.3.11-regexfix.patch b/app-editors/nano/files/nano-1.3.11-regexfix.patch
new file mode 100644
index 000000000000..4a4f6d4dc06b
--- /dev/null
+++ b/app-editors/nano/files/nano-1.3.11-regexfix.patch
@@ -0,0 +1,253 @@
+diff -ur nano-1.3.11/src/winio.c nano-1.3.11-fixed/src/winio.c
+--- nano-1.3.11/src/winio.c 2006-03-29 20:18:29.000000000 -0500
++++ nano-1.3.11-fixed/src/winio.c 2006-05-08 12:38:16.000000000 -0400
+@@ -2383,10 +2383,8 @@
+ _("Refusing zero-length regex match"));
+ } else if (startmatch.rm_so < endpos &&
+ startmatch.rm_eo > startpos) {
+- if (startmatch.rm_so <= startpos)
+- x_start = 0;
+- else
+- x_start = strnlenpt(fileptr->data,
++ x_start = (startmatch.rm_so <= startpos) ? 0 :
++ strnlenpt(fileptr->data,
+ startmatch.rm_so) - start;
+
+ index = actual_x(converted, x_start);
+@@ -2430,129 +2428,135 @@
+ goto step_two;
+ start_line = start_line->prev;
+ }
+- /* No start found, so skip to the next step. */
+- if (start_line == NULL)
+- goto step_two;
+- /* Now start_line is the first line before fileptr
+- * containing a start match. Is there a start on this
+- * line not followed by an end on this line? */
+- start_col = 0;
+- while (TRUE) {
+- start_col += startmatch.rm_so;
+- startmatch.rm_eo -= startmatch.rm_so;
+- if (regexec(tmpcolor->end, start_line->data +
+- start_col + startmatch.rm_eo, 0, NULL,
+- (start_col + startmatch.rm_eo == 0) ? 0 :
+- REG_NOTBOL) == REG_NOMATCH)
+- /* No end found after this start. */
+- break;
+- start_col++;
+- if (regexec(tmpcolor->start, start_line->data +
+- start_col, 1, &startmatch,
+- REG_NOTBOL) == REG_NOMATCH)
+- /* No later start on this line. */
++ if (startmatch.rm_so == startmatch.rm_eo) {
++ startmatch.rm_eo++;
++ statusbar(_("Refusing zero-length regex match"));
++ } else {
++ /* No start found, so skip to the next step. */
++ if (start_line == NULL)
+ goto step_two;
+- }
+- /* Indeed, there is a start not followed on this line by
+- * an end. */
++ /* Now start_line is the first line before fileptr
++ * containing a start match. Is there a start on
++ * this line not followed by an end on this line? */
++ start_col = 0;
++ while (TRUE) {
++ start_col += startmatch.rm_so;
++ startmatch.rm_eo -= startmatch.rm_so;
++ if (regexec(tmpcolor->end, start_line->data +
++ start_col + startmatch.rm_eo, 0, NULL,
++ (start_col + startmatch.rm_eo == 0) ?
++ 0 : REG_NOTBOL) == REG_NOMATCH)
++ /* No end found after this start. */
++ break;
++ start_col++;
++ if (regexec(tmpcolor->start, start_line->data +
++ start_col, 1, &startmatch,
++ REG_NOTBOL) == REG_NOMATCH)
++ /* No later start on this line. */
++ goto step_two;
++ }
++ /* Indeed, there is a start not followed on this
++ * line by an end. */
+
+- /* We have already checked that there is no end before
+- * fileptr and after the start. Is there an end after
+- * the start at all? We don't paint unterminated
+- * starts. */
+- end_line = fileptr;
+- while (end_line != NULL && regexec(tmpcolor->end,
++ /* We have already checked that there is no end
++ * before fileptr and after the start. Is there an
++ * end after the start at all? We don't paint
++ * unterminated starts. */
++ end_line = fileptr;
++ while (end_line != NULL && regexec(tmpcolor->end,
+ end_line->data, 1, &endmatch, 0) == REG_NOMATCH)
+- end_line = end_line->next;
++ end_line = end_line->next;
+
+- /* No end found, or it is too early. */
+- if (end_line == NULL || (end_line == fileptr &&
++ /* No end found, or it is too early. */
++ if (end_line == NULL || (end_line == fileptr &&
+ endmatch.rm_eo <= startpos))
+- goto step_two;
++ goto step_two;
+
+- /* Now paint the start of fileptr. */
+- if (end_line != fileptr)
+- /* If the start of fileptr is on a different line
+- * from the end, paintlen is -1, meaning that
+- * everything on the line gets painted. */
+- paintlen = -1;
+- else
+- /* Otherwise, paintlen is the expanded location of
+- * the end of the match minus the expanded location
+- * of the beginning of the page. */
+- paintlen = actual_x(converted,
+- strnlenpt(fileptr->data, endmatch.rm_eo) -
+- start);
++ /* Now paint the start of fileptr. */
++ if (end_line != fileptr)
++ /* If the start of fileptr is on a different
++ * line from the end, paintlen is -1, meaning
++ * that everything on the line gets painted. */
++ paintlen = -1;
++ else
++ /* Otherwise, paintlen is the expanded location
++ * of the end of the match minus the expanded
++ * location of the beginning of the page. */
++ paintlen = actual_x(converted,
++ strnlenpt(fileptr->data,
++ endmatch.rm_eo) - start);
+
+- mvwaddnstr(edit, line, 0, converted, paintlen);
++ mvwaddnstr(edit, line, 0, converted, paintlen);
+
+ step_two:
+- /* Second step, we look for starts on this line. */
+- start_col = 0;
++ /* Second step, we look for starts on this line. */
++ start_col = 0;
+
+- while (start_col < endpos) {
+- if (regexec(tmpcolor->start, fileptr->data +
+- start_col, 1, &startmatch, (start_col == 0) ?
+- 0 : REG_NOTBOL) == REG_NOMATCH || start_col +
+- startmatch.rm_so >= endpos)
+- /* No more starts on this line. */
+- break;
+- /* Translate the match to be relative to the
+- * beginning of the line. */
+- startmatch.rm_so += start_col;
+- startmatch.rm_eo += start_col;
++ while (start_col < endpos) {
++ if (regexec(tmpcolor->start, fileptr->data +
++ start_col, 1, &startmatch, (start_col ==
++ 0) ? 0 : REG_NOTBOL) == REG_NOMATCH ||
++ start_col + startmatch.rm_so >= endpos)
++ /* No more starts on this line. */
++ break;
++ /* Translate the match to be relative to the
++ * beginning of the line. */
++ startmatch.rm_so += start_col;
++ startmatch.rm_eo += start_col;
+
+- if (startmatch.rm_so <= startpos)
+- x_start = 0;
+- else
+- x_start = strnlenpt(fileptr->data,
++ x_start = (startmatch.rm_so <= startpos) ? 0 :
++ strnlenpt(fileptr->data,
+ startmatch.rm_so) - start;
+
+- index = actual_x(converted, x_start);
++ index = actual_x(converted, x_start);
+
+- if (regexec(tmpcolor->end, fileptr->data +
+- startmatch.rm_eo, 1, &endmatch,
+- (startmatch.rm_eo == 0) ? 0 : REG_NOTBOL) ==
+- 0) {
+- /* Translate the end match to be relative to the
+- * beginning of the line. */
+- endmatch.rm_so += startmatch.rm_eo;
+- endmatch.rm_eo += startmatch.rm_eo;
+- /* There is an end on this line. But does it
+- * appear on this page, and is the match more
+- * than zero characters long? */
+- if (endmatch.rm_eo > startpos &&
++ if (regexec(tmpcolor->end, fileptr->data +
++ startmatch.rm_eo, 1, &endmatch,
++ (startmatch.rm_eo == 0) ? 0 :
++ REG_NOTBOL) == 0) {
++ /* Translate the end match to be relative to
++ * the beginning of the line. */
++ endmatch.rm_so += startmatch.rm_eo;
++ endmatch.rm_eo += startmatch.rm_eo;
++ /* There is an end on this line. But does
++ * it appear on this page, and is the match
++ * more than zero characters long? */
++ if (endmatch.rm_eo > startpos &&
+ endmatch.rm_eo > startmatch.rm_so) {
+- paintlen = actual_x(converted + index,
+- strnlenpt(fileptr->data,
+- endmatch.rm_eo) - start - x_start);
+-
+- assert(0 <= x_start && x_start < COLS);
++ paintlen = actual_x(converted + index,
++ strnlenpt(fileptr->data,
++ endmatch.rm_eo) - start -
++ x_start);
++
++ assert(0 <= x_start && x_start < COLS);
++
++ mvwaddnstr(edit, line, x_start,
++ converted + index, paintlen);
++ }
++ } else {
++ /* There is no end on this line. But we
++ * haven't yet looked for one on later
++ * lines. */
++ end_line = fileptr->next;
+
+- mvwaddnstr(edit, line, x_start, converted +
+- index, paintlen);
+- }
+- } else {
+- /* There is no end on this line. But we haven't
+- * yet looked for one on later lines. */
+- end_line = fileptr->next;
+-
+- while (end_line != NULL &&
++ while (end_line != NULL &&
+ regexec(tmpcolor->end, end_line->data,
+ 0, NULL, 0) == REG_NOMATCH)
+- end_line = end_line->next;
++ end_line = end_line->next;
+
+- if (end_line != NULL) {
+- assert(0 <= x_start && x_start < COLS);
++ if (end_line != NULL) {
++ assert(0 <= x_start && x_start < COLS);
+
+- mvwaddnstr(edit, line, x_start, converted +
+- index, -1);
+- /* We painted to the end of the line, so
+- * don't bother checking any more starts. */
+- break;
++ mvwaddnstr(edit, line, x_start,
++ converted + index, -1);
++ /* We painted to the end of the line, so
++ * don't bother checking any more
++ * starts. */
++ break;
++ }
+ }
++ start_col = startmatch.rm_so + 1;
+ }
+- start_col = startmatch.rm_so + 1;
+ }
+ }
+
diff --git a/app-editors/nano/nano-1.3.11-r1.ebuild b/app-editors/nano/nano-1.3.11-r1.ebuild
new file mode 100644
index 000000000000..c294b0f5f24f
--- /dev/null
+++ b/app-editors/nano/nano-1.3.11-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-editors/nano/nano-1.3.11-r1.ebuild,v 1.1 2006/05/09 02:03:06 vapier Exp $
+
+#ECVS_SERVER="savannah.gnu.org:/cvsroot/nano"
+#ECVS_MODULE="nano"
+#ECVS_AUTH="pserver"
+#ECVS_USER="anonymous"
+#inherit cvs
+inherit eutils
+
+MY_P=${PN}-${PV/_}
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+SRC_URI="http://www.nano-editor.org/dist/v1.3/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="build debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+PROVIDE="virtual/editor"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-regexfix.patch
+}
+
+src_compile() {
+ if [[ ! -e configure ]] ; then
+ ./autogen.sh || die "autogen failed"
+ fi
+
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir=/bin \
+ --enable-color \
+ --enable-multibuffer \
+ --enable-nanorc \
+ --disable-wrapping-as-root \
+ $(use_enable spell) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf} \
+ || die "configure failed"
+ emake || die
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+
+ if use build ; then
+ rm -rf "${D}"/usr/share
+ else
+ cat "${FILESDIR}"/nanorc-* >> doc/nanorc.sample
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml *.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
+
+pkg_postinst() {
+ einfo "More helpful info about nano, visit the GDP page:"
+ einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+}