diff options
Diffstat (limited to 'app-editors/nano')
-rw-r--r-- | app-editors/nano/ChangeLog | 8 | ||||
-rw-r--r-- | app-editors/nano/Manifest | 25 | ||||
-rw-r--r-- | app-editors/nano/files/digest-nano-1.3.11-r1 | 3 | ||||
-rw-r--r-- | app-editors/nano/files/nano-1.3.11-regexfix.patch | 253 | ||||
-rw-r--r-- | app-editors/nano/nano-1.3.11-r1.ebuild | 80 |
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" +} |