summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-editors/nano
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-editors/nano')
-rw-r--r--app-editors/nano/Manifest12
-rw-r--r--app-editors/nano/files/awk.nanorc38
-rw-r--r--app-editors/nano/files/css.nanorc9
-rw-r--r--app-editors/nano/files/gentoo.nanorc50
-rw-r--r--app-editors/nano/files/nano-1.3.12-fix2.patch15
-rw-r--r--app-editors/nano/files/nano-1.3.12-path.patch199
-rw-r--r--app-editors/nano/files/nano-1.3.12-scroll.patch39
-rw-r--r--app-editors/nano/files/nano-2.3.1-bind-unbind-docs.patch118
-rw-r--r--app-editors/nano/files/nano-2.3.1-drop-target.patch30
-rw-r--r--app-editors/nano/files/nano-2.3.1-gentoo-nanorc.patch95
-rw-r--r--app-editors/nano/files/nano-2.3.1-ncurses-pkg-config.patch52
-rw-r--r--app-editors/nano/files/nano-2.3.1-shell-nanorc.patch44
-rw-r--r--app-editors/nano/files/nano-2.3.2-bind-unbind-docs.patch119
-rw-r--r--app-editors/nano/files/nano-2.4.0-no-speller.patch88
-rw-r--r--app-editors/nano/files/xml.nanorc9
-rw-r--r--app-editors/nano/metadata.xml38
-rw-r--r--app-editors/nano/nano-1.3.12-r1.ebuild80
-rw-r--r--app-editors/nano/nano-2.0.9.ebuild79
-rw-r--r--app-editors/nano/nano-2.1.10.ebuild84
-rw-r--r--app-editors/nano/nano-2.2.5.ebuild84
-rw-r--r--app-editors/nano/nano-2.3.1-r1.ebuild71
-rw-r--r--app-editors/nano/nano-2.3.1-r2.ebuild68
-rw-r--r--app-editors/nano/nano-2.3.1.ebuild77
-rw-r--r--app-editors/nano/nano-2.3.2-r1.ebuild79
-rw-r--r--app-editors/nano/nano-2.3.2.ebuild72
-rw-r--r--app-editors/nano/nano-2.3.3.ebuild76
-rw-r--r--app-editors/nano/nano-2.3.4.ebuild76
-rw-r--r--app-editors/nano/nano-2.3.6.ebuild76
-rw-r--r--app-editors/nano/nano-2.4.0.ebuild77
-rw-r--r--app-editors/nano/nano-2.4.1.ebuild76
-rw-r--r--app-editors/nano/nano-2.4.2.ebuild76
31 files changed, 2106 insertions, 0 deletions
diff --git a/app-editors/nano/Manifest b/app-editors/nano/Manifest
new file mode 100644
index 000000000000..65e6438baa21
--- /dev/null
+++ b/app-editors/nano/Manifest
@@ -0,0 +1,12 @@
+DIST nano-1.3.12.tar.gz 1250777 SHA256 f5537b8a988618fa8524b6a4b0a6950184d37db983b4521ad843b98845da571c SHA512 30d95122486e13159c4e36d4408ab977351d0d46bb28e21b0e867ab6246a3a5a51d987fcca956d66d629753698188bffec34f076a1cf505cbadd6bec4cd54afb WHIRLPOOL a2ef9482ade321ffc231e5bc0429a363389049ab4fbb82f74719003ca3446681805fbcf8c78dd6fad62c0363030e9804f649b297a7c6840fff83148cb031c7d1
+DIST nano-2.0.9.tar.gz 1403773 SHA256 6d212385680d29dcda35dda7801da19c80182a8bc6bc6d5cf7533034c853d37f SHA512 9090dc005670998db2d10657e8c37751051a71ea4a6ba514d1c8e36d5d5030c778ede5d2c3734106a92e100e3755add828f3094b3b5c2b41def8e15e674e4907 WHIRLPOOL 4d16cb2c684bf34f441096311778b9249243cc84351af7586ff1bbbbbd7c0fb251548a1fc987cb91a08633b49fb0841e97d3ca79e8392b8f0ff2e12560b2b098
+DIST nano-2.1.10.tar.gz 1478204 SHA256 03af11adace9f6c482a06f5304c5aba5d134972a416ce4368307b604420b2e40 SHA512 647174879abb0658776e9f3c6734db0989cfe1cb445bda616997d24e2955f7df790bf1c6b7d8dd3fe4878c73d589d84c6c1acae6b851dbf6ab623f0992cf284e WHIRLPOOL 8b813d18c9b2d94c1ec11377f9b7467e18a0fd9d425fe84d9209f6a6c4192bbdd1377f78306c489830a563f4aba0962bfd7349086e59cd12fed6ea96ea67531a
+DIST nano-2.2.5.tar.gz 1554750 SHA256 9015945d1badabbada203b37c4779d3dd1066234235c714deb439989c5cd7d9e SHA512 5dd9bd1bccb8ab5c6592310e2e6cee5a59370595ab1ce2065f0d77a6eb58d8e115559a00b17582ccc6321dcd93a557af391e716977d3ce86f99d83b1aad648fc WHIRLPOOL b2b65c589dc4bfc665e3f73a6fa6bfecfc6bae0d68d99a43ec392fd625717b9e3792b868d84fece44622e245c15c8f20d0c97aa129813319327c42cc89fc96c3
+DIST nano-2.3.1.tar.gz 1624332 SHA256 b7bace9a8e543b84736d6ef5ce5430305746efea3aacb24391f692efc6f3c8d3 SHA512 ab8e17f712c0609e5e7e7caeec79c4bb28d1d6e1c837d2a9c2e7a691156f58c6770375d8c410898648a3629a38cf6b3bb2de9a6c02556e62a583c0500a1aec94 WHIRLPOOL ea14ce055f41884956ad5de5e763396522b9f63c8fd64720078f11c1c97e0fbc6f760789fc52bd3f485d1856dda2727899fb8e79cae3c87850ba0ad8793b1a4d
+DIST nano-2.3.2.tar.gz 1725485 SHA256 ff309248071486445609ad4269b798262a1324d7503dc09dea289f5b60106be8 SHA512 c4bf4a152e797e860e9f8aee5091b8e380f5305d3457d5503c2b6187897394510dd756948cce7157fe986bbb9db7a5b98c9cb5794d12cf6399d7e96e0db1be49 WHIRLPOOL 48111c18a50ab5215646b0a85a6f90a55274d349890fee54e18a66028b1b5a79f51c6f2f12a039751342845b3c8e5f58854e3368d7f8f18c1ab94d6f56f40b02
+DIST nano-2.3.3.tar.gz 1812671 SHA256 d80e0fce656b5cd2f327ea599c708c897dc1b8c608e87c756d63c79e97e8cc19 SHA512 542a12ac7dd8bd48b69e7c3c4850b5757372c0abb2082f12ca049a5857137ef93a7225ca9f23b8aaa934c639c2c1c1d54ae40da868b7c4adf3b3cfc9dec16a95 WHIRLPOOL a9b7c9d2f2904e588f0847d2b897649e780ca489c1240da49a5afdabf10c588191c8cbd3a6360409a26e24ad5604cb12172bb9680200e3edbad2bd94cb5fc3ca
+DIST nano-2.3.4.tar.gz 1812943 SHA256 1774129f4b933df5dbfdf45c4ecdbfc19eb6ff8c2fc6ad43c7f392aa7cd998c1 SHA512 5f0e3d170cce60a6b20647607745373727700fbb59d579ce5f62fd5915568ef0065f5e0e2923812a321dd3b13c77ab9231fd62f7b2a86965925d1da675fa646b WHIRLPOOL 2c703bbc79304a28c06154a451a5035967101ecc82cddbd005cb1a6599466d8b54c944f2aef9dd6c7f9b7a171b705177e3d0e7a496c43ffca39000244371547e
+DIST nano-2.3.6.tar.gz 1816012 SHA256 a74bf3f18b12c1c777ae737c0e463152439e381aba8720b4bc67449f36a09534 SHA512 00d66dbbd1ee59b3d606af8688599ce627aa98cee494611e255293347b9aa4f3f583820ac28adae5f7209410a28669cdd5211258411d83364d3eb788d909bb73 WHIRLPOOL 6900e40e41f7bbd23a0dc76fe24bbf29c46b65bead328cb574008045f397e92643a7cee35605ef044e1921029dca54e49831548828490abbf24b2c63f0f9092b
+DIST nano-2.4.0.tar.gz 1886052 SHA256 5076fb502680503e648cbdcbf2077e39fba193420ae19203f0a54cb2d94a75bd SHA512 7f079e307521a47405ba6d107d481df6869dbd7ea9297de6c69e831d00335cee403ac3ec1ef3578488cbec65c2e2ddec15edfddd45071f0fb4e2eccc94cbef1d WHIRLPOOL 1e4aaaa67c44bf051210b9c65db80c30189606fc2ba0d3e1a6802a41e7244901e60858ad412a0c6ee6e0eaa90d65925d8c954b398387cc12109a626811d8ad07
+DIST nano-2.4.1.tar.gz 1890805 SHA256 6a0ceb5e1b9b9bea72d5d1f46488ace4782b1f198ea6ba558480a86d994f29d2 SHA512 0e2bc99627682350496853b2dc8d3d4c25303b3723fd1dec2e26f2860b21d0f4c6cb99810517fc4e86312f3bec5481c327afab84dac55f4c388799453e6f5f11 WHIRLPOOL 3c3decdd0c94c33a2cb3854e6b8cda4082a9a98d55d8e1d256ec73febaa0de597d41b1f63c18cb6308fb7174b6ced0995434697f6c05a2efb53e3588f2ca7d8a
+DIST nano-2.4.2.tar.gz 1898633 SHA256 c8cd7f18fcf5696d9df3364ee2a840e0ab7b6bdbd22abf850bbdc951db7f65b9 SHA512 487b03b33ac8fac4a774223e038b00463ca03e08093c506b10f4df56795039eff1c23518c1a4f32695cee1bb9bb5eb0a2dd3e1f8a9befcc573e7fca3d69fa9d3 WHIRLPOOL ac5942114a48d428e64db47afb919feef506e18da8b21627ea421e59bf3c235083b17ffaf7a6e510193b6617c0e2ad9d2460f64d5d8bbd6b828547bcd41b5c7c
diff --git a/app-editors/nano/files/awk.nanorc b/app-editors/nano/files/awk.nanorc
new file mode 100644
index 000000000000..696ab6ad727c
--- /dev/null
+++ b/app-editors/nano/files/awk.nanorc
@@ -0,0 +1,38 @@
+## Here is an example for awk.
+##
+syntax "awk" "\.awk$"
+## records
+icolor brightred "\$[0-9A-Z_!@#$*?-]+"
+## awk-set variables
+color red "\<(ARGC|ARGIND|ARGV|BINMODE|CONVFMT|ENVIRON|ERRNO|FIELDWIDTHS)\>"
+color red "\<(FILENAME|FNR|FS|IGNORECASE|LINT|NF|NR|OFMT|OFS|ORS)\>"
+color red "\<(PROCINFO|RS|RT|RSTART|RLENGTH|SUBSEP|TEXTDOMAIN)\>"
+## function declarations and special patterns
+color brightgreen "\<(function|extension|BEGIN|END)\>"
+## operators
+color green "(\{|\}|\(|\)|\;|\]|\[|\\|<|>|!|=|&|\+|-|\*|%|/|\?:|\^|\|)"
+## flow control
+color brightyellow "\<(for|if|while|do|else|in|delete|exit)\>"
+color brightyellow "\<(break|continue|return)\>"
+## I/O statements
+color brightgreen "\<(close|getline|next|nextfile|print|printf)\>"
+color brightgreen "\<(system|fflush)\>"
+## standard functions
+color magenta "\<(atan2|cos|exp|int|log|rand|sin|sqrt|srand)\>"
+color magenta "\<(asort|asorti|gensub|gsub|index|length|match)\>"
+color magenta "\<(split|sprintf|strtonum|sub|substr|tolower|toupper)\>"
+color magenta "\<(mktime|strftime|systime)\>"
+color magenta "\<(and|compl|lshift|or|rshift|xor)\>"
+color magenta "\<(bindtextdomain|dcgettext|dcngettext)\>"
+
+##
+## String highlighting. You will in general want your comments and
+## strings to come last, because syntax highlighting rules will be
+## applied in the order they are read in.
+color brightyellow "<[^= ]*>" ""(\\.|[^"])*""
+
+## Comment highlighting
+color brightblue "(^|[[:space:]])#.*$"
+
+## Trailing whitespace
+color ,green "[[:space:]]+$"
diff --git a/app-editors/nano/files/css.nanorc b/app-editors/nano/files/css.nanorc
new file mode 100644
index 000000000000..62126e8a7833
--- /dev/null
+++ b/app-editors/nano/files/css.nanorc
@@ -0,0 +1,9 @@
+## Here is an example for css files.
+##
+syntax "css" "\.css$"
+color brightred "."
+color brightyellow start="\{" end="\}"
+color brightwhite start=":" end="[;^\{]"
+color brightblue ":active|:focus|:hover|:link|:visited|:link|:after|:before|$"
+color brightblue start="\/\*" end="\\*/"
+color green ";|:|\{|\}"
diff --git a/app-editors/nano/files/gentoo.nanorc b/app-editors/nano/files/gentoo.nanorc
new file mode 100644
index 000000000000..f08d2e9027ce
--- /dev/null
+++ b/app-editors/nano/files/gentoo.nanorc
@@ -0,0 +1,50 @@
+## Here is an example for ebuilds/eclasses
+##
+syntax "ebuild" "\.e(build|class)$"
+## All the standard portage functions
+color brightgreen "^src_(unpack|compile|install|test)" "^pkg_(config|nofetch|setup|(pre|post)(inst|rm))"
+## Highlight bash related syntax
+color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while|continue|break)\>"
+color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
+color green "-(e|d|f|r|g|u|w|x|L)\>"
+color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
+## Highlight variables ... official portage ones in red, all others in bright red
+color brightred "\$\{?[a-zA-Z_0-9]+\}?"
+color red "\<(ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|FILESDIR|WORKDIR|(P|R)?DEPEND|PROVIDE|DISTDIR|RESTRICT|USERLAND)\>"
+color red "\<(S|D|T|PV|PF|P|PN|A)\>" "\<C(XX)?FLAGS\>" "\<LDFLAGS\>" "\<C(HOST|TARGET|BUILD)\>"
+## Highlight portage commands
+color magenta "\<use(_(with|enable))?\> [!a-zA-Z0-9_+ -]*" "inherit.*"
+color brightblue "\<e(begin|end|conf|install|make|warn|infon?|error|log|patch|new(group|user))\>"
+color brightblue "\<die\>" "\<use(_(with|enable))?\>" "\<inherit\>" "\<has\>" "\<(has|best)_version\>" "\<unpack\>"
+color brightblue "\<(do|new)(ins|s?bin|doc|lib(|\.so|\.a)|man|info|exe|initd|confd|envd|pam|menu|icon)\>"
+color brightblue "\<do(header|python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>"
+color brightblue "prepall(|docs|info|man|strip)" "prep(info|lib|lib\.(so|a)|man|strip)"
+color brightblue "\<(|doc|ins|exe)into\>" "\<f(owners|perms)\>" "\<(exe|ins|dir)opts\>" "\<usex\>"
+## Highlight common commands used in ebuilds
+color blue "\<make\>" "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|let|ln|mkdir|mv|rm|sed|set|tar|touch|unset)\>"
+## Highlight comments (doesnt work that well)
+color yellow "#.*$"
+## Highlight strings (doesnt work that well)
+color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'"
+## Trailing space is bad!
+color ,green "[[:space:]]+$"
+
+## Here is an example for Portage control files
+##
+syntax "/etc/portage" "\.(keywords|mask|unmask|use)$"
+## Base text:
+color green "^.+$"
+## Use flags:
+color brightred "[[:space:]]+\+?[a-zA-Z0-9_-]+"
+color brightblue "[[:space:]]+-[a-zA-Z0-9_-]+"
+## Likely version numbers:
+color magenta "-[[:digit:]].*([[:space:]]|$)"
+## Accepted arches:
+color white "[~-]?\<(alpha|amd64|arm|hppa|ia64|mips|ppc|ppc64|s390|sh|sparc|x86|x86-fbsd)\>"
+color white "[[:space:]][~-]?\*"
+## Categories:
+color cyan "^[[:space:]]*.*/"
+## Masking regulators:
+color brightmagenta "^[[:space:]]*(=|~|<|<=|=<|>|>=|=>)"
+## Comments:
+color yellow "#.*$"
diff --git a/app-editors/nano/files/nano-1.3.12-fix2.patch b/app-editors/nano/files/nano-1.3.12-fix2.patch
new file mode 100644
index 000000000000..1c6ba22f3ab3
--- /dev/null
+++ b/app-editors/nano/files/nano-1.3.12-fix2.patch
@@ -0,0 +1,15 @@
+diff -ru nano-1.3.12/src/rcfile.c nano-1.3.12-fix2/src/rcfile.c
+--- nano-1.3.12/src/rcfile.c 2006-06-07 22:50:56.000000000 -0400
++++ nano-1.3.12-fix2/src/rcfile.c 2006-07-18 19:22:30.000000000 -0400
+@@ -834,9 +834,11 @@
+ rcfile_error(N_("Unknown flag \"%s\""), option);
+ }
+
++#ifdef ENABLE_COLOR
+ if (endsyntax != NULL && endcolor == NULL)
+ rcfile_error(N_("Syntax \"%s\" has no color commands"),
+ endsyntax->desc);
++#endif
+
+ free(buf);
+ fclose(rcstream);
diff --git a/app-editors/nano/files/nano-1.3.12-path.patch b/app-editors/nano/files/nano-1.3.12-path.patch
new file mode 100644
index 000000000000..b8b2a7e11ff8
--- /dev/null
+++ b/app-editors/nano/files/nano-1.3.12-path.patch
@@ -0,0 +1,199 @@
+diff -ur nano-1.3.12/src/files.c nano-1.3.12-fixed/src/files.c
+--- nano-1.3.12/src/files.c 2006-06-14 09:19:43.000000000 -0400
++++ nano-1.3.12-fixed/src/files.c 2006-07-05 11:44:17.000000000 -0400
+@@ -902,21 +902,29 @@
+ * able to go there. */
+ char *get_full_path(const char *origpath)
+ {
+- char *d_here, *d_there = NULL;
++ struct stat fileinfo;
++ char *d_here, *d_there, *d_there_file = NULL;
++ const char *last_slash;
++ bool path_only;
+
+ if (origpath == NULL)
+ return NULL;
+
+- /* Get the current directory. */
++ /* Get the current directory. If it doesn't exist, back up and try
++ * again until we get a directory that does, and use that as the
++ * current directory. */
+ d_here = charalloc(PATH_MAX + 1);
+ d_here = getcwd(d_here, PATH_MAX + 1);
+
+- if (d_here != NULL) {
+- const char *last_slash;
+- char *d_there_file = NULL;
+- bool path_only;
+- struct stat fileinfo;
++ while (d_here == NULL) {
++ if (chdir("..") == -1)
++ break;
++
++ d_here = getcwd(d_here, PATH_MAX + 1);
++ }
+
++ /* If we succeeded, canonicalize it in d_here. */
++ if (d_here != NULL) {
+ align(&d_here);
+
+ /* If the current directory isn't "/", tack a slash onto the end
+@@ -925,89 +933,91 @@
+ d_here = charealloc(d_here, strlen(d_here) + 2);
+ strcat(d_here, "/");
+ }
++ /* Otherwise, set d_here to "". */
++ } else
++ d_here = mallocstrcpy(NULL, "");
+
+- d_there = real_dir_from_tilde(origpath);
++ d_there = real_dir_from_tilde(origpath);
+
+- assert(d_there != NULL);
++ assert(d_there != NULL);
+
+- /* Stat d_there. If stat() fails, assume that d_there refers to
+- * a new file that hasn't been saved to disk yet. Set path_only
+- * to TRUE if d_there refers to a directory, and FALSE if
+- * d_there refers to a file. */
+- path_only = !stat(d_there, &fileinfo) &&
+- S_ISDIR(fileinfo.st_mode);
+-
+- /* If path_only is TRUE, make sure d_there ends in a slash. */
+- if (path_only) {
+- size_t d_there_len = strlen(d_there);
+-
+- if (d_there[d_there_len - 1] != '/') {
+- d_there = charealloc(d_there, d_there_len + 2);
+- strcat(d_there, "/");
+- }
+- }
++ /* If stat()ing d_there fails, assume that d_there refers to a new
++ * file that hasn't been saved to disk yet. Set path_only to TRUE
++ * if d_there refers to a directory, and FALSE otherwise. */
++ path_only = stat(d_there, &fileinfo) == 0 &&
++ S_ISDIR(fileinfo.st_mode);
+
+- /* Search for the last slash in d_there. */
+- last_slash = strrchr(d_there, '/');
++ /* If path_only is TRUE, make sure d_there ends in a slash. */
++ if (path_only) {
++ size_t d_there_len = strlen(d_there);
+
+- /* If we didn't find one, then make sure the answer is in the
+- * format "d_here/d_there". */
+- if (last_slash == NULL) {
+- assert(!path_only);
++ if (d_there[d_there_len - 1] != '/') {
++ d_there = charealloc(d_there, d_there_len + 2);
++ strcat(d_there, "/");
++ }
++ }
+
+- d_there_file = d_there;
+- d_there = d_here;
+- } else {
+- /* If path_only is FALSE, then save the filename portion of
+- * the answer, everything after the last slash, in
+- * d_there_file. */
+- if (!path_only)
+- d_there_file = mallocstrcpy(NULL, last_slash + 1);
+-
+- /* And remove the filename portion of the answer from
+- * d_there. */
+- null_at(&d_there, last_slash - d_there + 1);
+-
+- /* Go to the path specified in d_there. */
+- if (chdir(d_there) == -1) {
+- free(d_there);
+- d_there = NULL;
+- } else {
+- /* Get the full path and save it in d_there. */
+- free(d_there);
++ /* Search for the last slash in d_there. */
++ last_slash = strrchr(d_there, '/');
+
+- d_there = charalloc(PATH_MAX + 1);
+- d_there = getcwd(d_there, PATH_MAX + 1);
++ /* If we didn't find one, then make sure the answer is in the format
++ * "d_here/d_there". */
++ if (last_slash == NULL) {
++ assert(!path_only);
+
+- if (d_there != NULL) {
+- align(&d_there);
++ d_there_file = d_there;
++ d_there = d_here;
++ } else {
++ /* If path_only is FALSE, then save the filename portion of the
++ * answer (everything after the last slash) in d_there_file. */
++ if (!path_only)
++ d_there_file = mallocstrcpy(NULL, last_slash + 1);
++
++ /* And remove the filename portion of the answer from
++ * d_there. */
++ null_at(&d_there, last_slash - d_there + 1);
++
++ /* Go to the path specified in d_there. */
++ if (chdir(d_there) == -1) {
++ free(d_there);
++ d_there = NULL;
++ } else {
++ free(d_there);
+
+- if (strcmp(d_there, "/") != 0) {
+- /* Make sure d_there ends in a slash. */
+- d_there = charealloc(d_there,
+- strlen(d_there) + 2);
+- strcat(d_there, "/");
+- }
+- } else
+- /* If we couldn't get the full path, set path_only
+- * to TRUE so that we clean up correctly, free all
+- * allocated memory, and return NULL. */
+- path_only = TRUE;
+-
+- /* Finally, go back to the path specified in d_here,
+- * where we were before. */
+- chdir(d_here);
+- }
++ /* Get the full path. */
++ d_there = charalloc(PATH_MAX + 1);
++ d_there = getcwd(d_there, PATH_MAX + 1);
++
++ /* If we succeeded, canonicalize it in d_there. */
++ if (d_there != NULL) {
++ align(&d_there);
++
++ /* If the current directory isn't "/", tack a slash onto
++ * the end of it. */
++ if (strcmp(d_there, "/") != 0) {
++ d_there = charealloc(d_there, strlen(d_there) + 2);
++ strcat(d_there, "/");
++ }
++ } else
++ /* Otherwise, set path_only to TRUE, so that we clean up
++ * correctly, free all allocated memory, and return
++ * NULL. */
++ path_only = TRUE;
++
++ /* Finally, go back to the path specified in d_here,
++ * where we were before. We don't check for a chdir()
++ * error, since we can do nothing then. */
++ chdir(d_here);
+
+ /* Free d_here, since we're done using it. */
+ free(d_here);
+ }
+
+- /* At this point, if path_only is FALSE and d_there exists,
++ /* At this point, if path_only is FALSE and d_there isn't NULL,
+ * d_there contains the path portion of the answer and
+ * d_there_file contains the filename portion of the answer. If
+- * this is the case, tack d_there_file onto the end of
+- * d_there, so that d_there contains the complete answer. */
++ * this is the case, tack the latter onto the end of the former.
++ * d_there will then contain the complete answer. */
+ if (!path_only && d_there != NULL) {
+ d_there = charealloc(d_there, strlen(d_there) +
+ strlen(d_there_file) + 1);
diff --git a/app-editors/nano/files/nano-1.3.12-scroll.patch b/app-editors/nano/files/nano-1.3.12-scroll.patch
new file mode 100644
index 000000000000..f5d533633224
--- /dev/null
+++ b/app-editors/nano/files/nano-1.3.12-scroll.patch
@@ -0,0 +1,39 @@
+fix from upstream
+
+diff -ur nano-1.3.12/src/move.c nano-1.3.12-fixed/src/move.c
+--- nano-1.3.12/src/move.c 2006-05-21 22:08:49.000000000 -0400
++++ nano-1.3.12-fixed/src/move.c 2006-07-06 17:01:03.000000000 -0400
+@@ -521,6 +521,16 @@
+
+ /* Scroll the edit window up one line. */
+ edit_scroll(UP, 1);
++
++ /* If we're not on the first line of the edit window, update the
++ * line we were on before and the line we're on now. The former
++ * needs to be redrawn if we're not on the first page, and the
++ * latter needs to be drawn unconditionally. */
++ if (openfile->current_y > 0) {
++ if (need_vertical_update(0))
++ update_line(openfile->current->next, 0);
++ update_line(openfile->current, openfile->current_x);
++ }
+ }
+ #endif /* !NANO_TINY */
+
+@@ -574,6 +584,16 @@
+
+ /* Scroll the edit window down one line. */
+ edit_scroll(DOWN, 1);
++
++ /* If we're not on the last line of the edit window, update the line
++ * we were on before and the line we're on now. The former needs to
++ * be redrawn if we're not on the first page, and the latter needs
++ * to be drawn unconditionally. */
++ if (openfile->current_y < editwinrows - 1) {
++ if (need_vertical_update(0))
++ update_line(openfile->current->prev, 0);
++ update_line(openfile->current, openfile->current_x);
++ }
+ }
+ #endif /* !NANO_TINY */
+
diff --git a/app-editors/nano/files/nano-2.3.1-bind-unbind-docs.patch b/app-editors/nano/files/nano-2.3.1-bind-unbind-docs.patch
new file mode 100644
index 000000000000..300ee2d24ee1
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.1-bind-unbind-docs.patch
@@ -0,0 +1,118 @@
+From 5afd6d3e9558f8295496f7c59c765947e7f19d8a Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 28 Nov 2011 15:37:02 -0500
+Subject: [PATCH 1/2] nanorc(5): fix bind/unbind documentation
+
+The unbind section is listed after valid key/menu/functions, but tries
+to say those sections come after it. So reorganization the section so
+that bind/unbind comes first, and then we cover the key/menu/functions
+after both of them.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/man/nanorc.5 | 32 +++++++++++++++++++-------------
+ 1 file changed, 19 insertions(+), 13 deletions(-)
+
+diff --git a/doc/man/nanorc.5 b/doc/man/nanorc.5
+index da33179..2da71ab 100644
+--- a/doc/man/nanorc.5
++++ b/doc/man/nanorc.5
+@@ -282,9 +282,19 @@ Read in self-contained color syntaxes from \fIsyntaxfile\fP. Note that
+ .SH KEY BINDINGS
+ Key bindings may be reassigned via the following commands:
+ .TP
+-.B bind \fIkey\fP \fIfunction\fP \fImenu\fP
++.B bind \fIkey\fP \fIfunction\fP \fImenu\fP
+ Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
+-context of menu \fImenu\fP. The format of \fIkey\fP should be one of:
++context of menu \fImenu\fP.
++.TP
++.B unbind \fIkey\fP \fImenu\fP
++Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all
++menus by using \fIall\fP. Same key syntax as for binding.
++Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
++context of menu \fImenu\fP.
++.TP
++
++The format of \fIkey\fP should be one of:
++
+ .TP
+ .B ^
+ followed by an alpha character or the word "Space".
+@@ -298,8 +308,10 @@ Example: M-C
+ followed by a numeric value from 1 to 16.
+ Example: F10
+ .TP
+-Valid function names to be bound include:
+-.TP 3
++
++Valid \fIfunction\fP names to be bound include:
++
++.TP 2
+ .B help
+ Invoke the help menu.
+ .TP
+@@ -506,8 +518,9 @@ Toggle whether long lines will be wrapped to the next line.
+ Toggle whether the suspend sequence (normally ^Z) will suspend the editor window.
+ .TP
+
+-Valid menu sections are:
+-.TP
++Valid \fImenu\fP sections are:
++
++.TP 2
+ .B main
+ The main editor window where text is entered.
+ .TP
+@@ -549,13 +562,6 @@ The 'go to directory' menu.
+ .TP
+ .B all
+ A special name meaning: apply to all menus where this function exists.
+-
+-.TP
+-.B unbind \fIkey\fP \fImenu\fP
+-Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all
+-menus by using \fIall\fP. Same key syntax as for binding.
+-Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
+-context of menu \fImenu\fP. The format of \fIkey\fP should be one of:
+ .SH FILES
+ .TP
+ .I SYSCONFDIR/nanorc
+--
+1.7.9.7
+
+From 4b3e912d4a5c3561d1cfaf944d33ba9c30a9a555 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 28 Nov 2011 15:38:26 -0500
+Subject: [PATCH 2/2] nanorc syntax: add bind/unbind commands
+
+We don't currently handle the bind/unbind commands, so adding them to
+your nanorc file with colorization enabled makes it look like they're
+not actually supported.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/syntax/nanorc.nanorc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/doc/syntax/nanorc.nanorc b/doc/syntax/nanorc.nanorc
+index bda5f4f..287be56 100644
+--- a/doc/syntax/nanorc.nanorc
++++ b/doc/syntax/nanorc.nanorc
+@@ -2,10 +2,12 @@
+ ##
+ syntax "nanorc" "\.?nanorc$"
+ ## Possible errors and parameters
+-icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$"
++icolor brightwhite "^[[:space:]]*((un)?(bind|set)|include|syntax|i?color).*$"
+ ## Keywords
+ icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backupdir|backwards|boldtext|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|poslog|preserve|punct)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quickblank|quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|speller|suspend|suspendenable|tabsize|tabstospaces|tempfile|undo|view|whitespace|wordbounds)\>"
+-icolor green "^[[:space:]]*(set|unset|include|syntax|header|magic)\>"
++icolor brightgreen "^[[:space:]]*bind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]+[[:alpha:]]+[[:space:]]*$"
++icolor brightgreen "^[[:space:]]*unbind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]*$"
++icolor green "^[[:space:]]*((un)?(bind|set)|include|syntax|header|magic)\>"
+ ## Colors
+ icolor yellow "^[[:space:]]*i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"
+ icolor magenta "^[[:space:]]*i?color\>" "\<(start|end)="
+--
+1.7.9.7
diff --git a/app-editors/nano/files/nano-2.3.1-drop-target.patch b/app-editors/nano/files/nano-2.3.1-drop-target.patch
new file mode 100644
index 000000000000..3b5647675090
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.1-drop-target.patch
@@ -0,0 +1,30 @@
+From 0708d921211fa0f89288690593c406a682b2c826 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 14 Jun 2011 16:00:52 -0400
+Subject: [PATCH] drop --target as it makes no sense
+
+Since nano doesn't produce code, the --target option to configure
+doesn't make sense. So only support --{build,host} since those are
+what we need in order to cross-compile.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c590737..3eb61c2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,7 +22,7 @@
+
+ AC_INIT([GNU nano], [2.3.1], [nano-devel@gnu.org], [nano])
+ AC_CONFIG_SRCDIR([src/nano.c])
+-AC_CANONICAL_TARGET([])
++AC_CANONICAL_HOST
+ AM_INIT_AUTOMAKE
+ AC_CONFIG_HEADERS([config.h])
+
+--
+1.7.9.7
+
diff --git a/app-editors/nano/files/nano-2.3.1-gentoo-nanorc.patch b/app-editors/nano/files/nano-2.3.1-gentoo-nanorc.patch
new file mode 100644
index 000000000000..c775e2988b46
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.1-gentoo-nanorc.patch
@@ -0,0 +1,95 @@
+From 7051588fee7a20a69c67c8899b3e6c35ebf51fbf Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 25 Aug 2012 23:03:22 -0400
+Subject: [PATCH] gentoo syntax: update
+
+Update to newer EAPIs, and fold in updated shell changes too.
+Much of this is based on work by Davide.
+
+Reported-by: Davide Pesavento <pesa@gentoo.org>
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/syntax/gentoo.nanorc | 46 +++++++++++++++++++++++++++-------------------
+ 1 file changed, 27 insertions(+), 19 deletions(-)
+
+diff --git a/doc/syntax/gentoo.nanorc b/doc/syntax/gentoo.nanorc
+index 2ad1597..ad89fce 100644
+--- a/doc/syntax/gentoo.nanorc
++++ b/doc/syntax/gentoo.nanorc
+@@ -2,30 +2,38 @@
+ ##
+ syntax "ebuild" "\.e(build|class)$"
+ ## All the standard portage functions
+-color brightgreen "^src_(unpack|prepare|configure|compile|install|test)" "^pkg_(config|nofetch|setup|(pre|post)(inst|rm))"
++color brightgreen "(^|\<default_)src_(unpack|prepare|configure|compile|install|test)\>"
++color brightgreen "^pkg_(config|nofetch|pretend|setup|(pre|post)(inst|rm))\>"
++color brightgreen "\<default(_pkg_nofetch)?\>"
+ ## Highlight bash related syntax
+-color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while|continue|break)\>"
+-color green "\<(declare|eval|exec|let)\>"
+-color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
+-color green "-[edfgruwxL]\>"
+-color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
++color green "\<(break|case|continue|do|done|elif|else|esac|exit|fi|for|function|if|in|read|return|select|shift|then|time|until|while)\>"
++color green "\<(declare|eval|exec|export|let|local)\>"
++color green "[{}():;|`$<>!=&\\]" "(\]|\[)"
++color green "-[defhnrsuwxzL]\>"
++color green "-(eq|ne|gt|lt|ge|le)\>"
+ ## Highlight variables ... official portage ones in red, all others in bright red
+-color brightred "\$\{?[a-zA-Z_0-9]+\}?"
+-color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|(P|R)?DEPEND|PROVIDE|PROPERTIES|RESTRICT|USERLAND)\>"
+-color red "\<(S|D|T|PV|PF|P|PN|PR|PVR|A|CATEGORY|DISTDIR|FILESDIR|ROOT|WORKDIR)\>" "\<(AS|C(PP|XX)?|LD)FLAGS\>" "\<C(HOST|TARGET|BUILD)\>"
+-color red "\<QA_((TEXTRELS|EXECSTACK|WX_LOAD)(_[a-zA-Z_0-9]+)?|DT_HASH|PRESTRIPPED)\>" "\<WANT_AUTO(CONF|MAKE)\>" "\<AT_M4DIR\>"
++color brightred "\$[-0-9@*#?$!]" "\$[[:alpha:]_][[:alnum:]_]*"
++color brightred "\$\{[#!]?([-@*#?$!]|[0-9]+|[[:alpha:]_][[:alnum:]_]*)(\[([[:digit:]]|@)+\])?(([#%/]|:?[-=?+])[^}]*\}|\[|\})"
++color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|(P|R)?DEPEND|PROVIDE|PROPERTIES|REQUIRED_USE|RESTRICT|USERLAND)\>"
++color red "\<(S|E?D|T|PV|PF|P|PN|PR|PVR|A|CATEGORY|DISTDIR|FILESDIR|EPREFIX|E?ROOT|WORKDIR)\>"
++color red "\<(AS|C(PP|XX)?|LD)FLAGS\>" "\<C(HOST|TARGET|BUILD)\>"
++color red "\<QA_((TEXTRELS|EXECSTACK|WX_LOAD)(_[a-zA-Z_0-9]+)?|DT_HASH|PRESTRIPPED)\>"
++color red "\<(PATCHES|(HTML_)?DOCS)\>" "\<WANT_(AUTO(CONF|MAKE)|LIBTOOL)\>" "\<AT_M4DIR\>"
+ ## Highlight portage commands
+-color magenta "\<use(_(with|enable))?\> [!a-zA-Z0-9_+ -]*" "inherit.*"
+-color brightblue "\<e(begin|end|conf|install|make|qmake[34]|ant|(qa)?warn|infon?|error|log|patch|new(group|user))\>"
+-color brightblue "\<e(pause|beep|mktemp|(cvs|svn)_clean|punt_cxx)\>" "\<e(aclocal|auto(reconf|header|conf|make))\>"
+-color brightblue "\<built_with_use\>" "\<make_desktop_entry\>" "\<unpack(_(makeself|pdv))?\>"
+-color brightblue "\<die\>" "\<use(_(with|enable))?\>" "\<inherit\>" "\<has\>" "\<(has|best)_version\>"
++color magenta "\<(use(_(with|enable|if_iuse)|x)?|in_iuse)\> [!a-zA-Z0-9_+ -]*" "inherit.*"
++color brightblue "\<e(begin|end|conf|install|make|qmake4|ant|(qa)?warn|infon?|error|log|patch(_user)?|new(group|user))\>"
++color brightblue "\<e(pause|beep|mktemp|(cvs|svn)_clean|punt_cxx)\>" "\<e(aclocal|auto(reconf|header|conf|make)|libtoolize)\>"
++color brightblue "\<e(stack|shopts|umask)_(push|pop)\>" "\<version_is_at_least\>"
++color brightblue "\<make_desktop_entry\>" "\<unpack(_(makeself|pdv))?\>"
++color brightblue "\<(die|has|inherit|nonfatal)\>" "\<(use(_(with|enable|if_iuse)|x)?|in_iuse)\>" "\<(has|best)_version\>"
+ color brightblue "\<(do|new)(ins|(games)?s?bin|doc|lib(\.so|\.a)?|man|info|exe|initd|confd|envd|pam|menu|icon)\>"
+-color brightblue "\<do(python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>"
+-color brightblue "prepall(docs|info|man|strip)?" "prep(info|lib|lib\.(so|a)|man|strip|gamesdirs)"
++color brightblue "\<do(compress|python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>"
++color brightblue "\<prepall(docs|info|man|strip)?\>" "\<prep(info|lib|lib\.(so|a)|man|strip|gamesdirs)\>"
+ color brightblue "\<(doc|ins|exe)?into\>" "\<(f|games)(owners|perms)\>" "\<(exe|ins|dir)opts\>"
++color brightblue "\<tc-get(BUILD_)?(AR|AS|CC|CPP|CXX|LD|NM|OBJCOPY|PKG_CONFIG|RANLIB)\>"
++color brightblue "\<tc-(arch(-kernel)?|export|has-(tls|openmp))\>"
+ ## Highlight common commands used in ebuilds
+-color blue "\<make\>" "\<(awk|cat|cd|chmod|chown|cp|echo|env|export|find|e?grep|ln|mkdir|mv|rm|sed|set|tar|touch|unset|xargs)\>"
++color blue "\<(awk|cat|cd|chmod|chown|cp|echo|env|find|e?grep|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|tar|touch|unset|xargs)\>"
+ ## Highlight comments (doesnt work that well)
+ color yellow "(^|[[:space:]])#.*$"
+ ## Highlight strings (doesnt work that well)
+@@ -35,7 +43,7 @@ color ,green "[[:space:]]+$"
+
+ ## Here is an example for Portage control files
+ ##
+-syntax "/etc/portage" "\.(keywords|mask|unmask|use)(/.+)?$"
++syntax "/etc/portage" "\.(accept_keywords|env|keywords|mask|unmask|use)(/.+)?$"
+ ## Base text:
+ color green "^.+$"
+ ## Use flags:
+--
+1.8.3.2
+
+--- a/doc/syntax/gentoo.nanorc
++++ b/doc/syntax/gentoo.nanorc
+@@ -61,3 +61,5 @@ color cyan "^[[:space:]]*.*/"
+ color brightmagenta "^[[:space:]]*(=|~|<|<=|=<|>|>=|=>)"
+ ## Comments:
+ color yellow "#.*$"
++## Trailing space is bad!
++color ,green "[[:space:]]+$"
diff --git a/app-editors/nano/files/nano-2.3.1-ncurses-pkg-config.patch b/app-editors/nano/files/nano-2.3.1-ncurses-pkg-config.patch
new file mode 100644
index 000000000000..84bd0b70ff87
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.1-ncurses-pkg-config.patch
@@ -0,0 +1,52 @@
+From c662db58448fefe86184117e6bab5799e43eccf1 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 1 Jan 2012 02:26:16 -0500
+Subject: [PATCH] search ncurses via pkg-config first
+
+Newer ncurses installs include pkg-config files which tell us the right
+-I/-L paths we need, so default to that before trying the legacy ways.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ configure.ac | 18 ++++++++++++++++++
+ 1 files changed, 18 insertions(+), 0 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1f61ae4..05308be 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -35,6 +35,7 @@ AC_PROG_CC
+ AC_PROG_LN_S
+ AC_ISC_POSIX
+ AC_SYS_LARGEFILE
++PKG_PROG_PKG_CONFIG
+
+ dnl Internationalization macros.
+
+@@ -439,6 +440,23 @@ AC_CHECK_FUNCS(getopt_long)
+ dnl Checks for libraries.
+
+ if eval "test x$CURSES_LIB_NAME = x"; then
++ if test x$enable_utf8 != xno; then
++ PKG_CHECK_MODULES([NCURSESW], [ncursesw], [
++ CURSES_LIB=$NCURSESW_LIBS
++ CPPFLAGS="$NCURSESW_CFLAGS $CPPFLAGS"
++ CURSES_LIB_NAME=ncursesw
++ CURSES_LIB_WIDE=yes
++ ], [:])
++ else
++ PKG_CHECK_MODULES([NCURSES], [ncurses], [
++ CURSES_LIB=$NCURSES_LIBS
++ CPPFLAGS="$NCURSES_CFLAGS $CPPFLAGS"
++ CURSES_LIB_NAME=ncurses
++ ], [:])
++ fi
++fi
++
++if eval "test x$CURSES_LIB_NAME = x"; then
+ AC_CHECK_HEADERS(ncurses.h)
+
+ if test x$enable_utf8 != xno; then
+--
+1.7.6.1
+
diff --git a/app-editors/nano/files/nano-2.3.1-shell-nanorc.patch b/app-editors/nano/files/nano-2.3.1-shell-nanorc.patch
new file mode 100644
index 000000000000..805130fda25c
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.1-shell-nanorc.patch
@@ -0,0 +1,44 @@
+From 5a6a9c107148162f47032b03af3f393c3888c5df Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 28 Feb 2012 11:14:33 -0500
+Subject: [PATCH] shell syntax: major updates
+
+Highlight more shell builtins and common commands.
+
+Rewrite the variable highlighting to be more exact and handle cases where
+string operations are used.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/syntax/sh.nanorc | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/doc/syntax/sh.nanorc b/doc/syntax/sh.nanorc
+index f660105..a664ef6 100644
+--- a/doc/syntax/sh.nanorc
++++ b/doc/syntax/sh.nanorc
+@@ -4,12 +4,17 @@ syntax "sh" "\.sh$"
+ magic "(POSIX|Bourne.*) shell script text"
+ header "^#!.*/(ba|k|pdk)?sh[-0-9_]*"
+ icolor brightgreen "^[0-9A-Z_]+\(\)"
+-color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\>"
+-color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
++color green "\<(break|case|continue|do|done|elif|else|esac|exit|fi|for|function|if|in|read|return|select|shift|then|time|until|while)\>"
++color green "\<(declare|eval|exec|export|let|local)\>"
++color green "[{}():;|`$<>!=&\\]" "(\]|\[)"
+ color green "-[Ldefgruwx]\>"
+ color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
+-color brightblue "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|install|let|ln|make|mkdir|mv|rm|sed|set|tar|touch|umask|unset)\>"
+-icolor brightred "\$\{?[0-9A-Z_!@#$*?-]+\}?"
++color brightblue "\<(awk|cat|cd|ch(grp|mod|own)|cp|echo|env|grep|install|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|tar|touch|umask|unset)\>"
++# Basic variable names (no braces)
++color brightred "\$[-0-9@*#?$!]" "\$[[:alpha:]_][[:alnum:]_]*"
++# More complicated variable names; handles braces
++# and replacements and arrays
++color brightred "\$\{[#!]?([-@*#?$!]|[0-9]+|[[:alpha:]_][[:alnum:]_]*)(\[([[:space:]]*[[:alnum:]_]+[[:space:]]*|@)\])?(([#%/]|:?[-=?+])[^}]*\}|\[|\})"
+ color cyan "(^|[[:space:]])#.*$"
+ color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'"
+ color ,green "[[:space:]]+$"
+--
+1.7.9.7
+
diff --git a/app-editors/nano/files/nano-2.3.2-bind-unbind-docs.patch b/app-editors/nano/files/nano-2.3.2-bind-unbind-docs.patch
new file mode 100644
index 000000000000..cd7dd343f783
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.2-bind-unbind-docs.patch
@@ -0,0 +1,119 @@
+From 17e1ba8530b9e21932935ad052ad416a0c2058a7 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 28 Nov 2011 15:37:02 -0500
+Subject: [PATCH] nanorc(5): fix bind/unbind documentation
+
+The unbind section is listed after valid key/menu/functions, but tries
+to say those sections come after it. So reorganization the section so
+that bind/unbind comes first, and then we cover the key/menu/functions
+after both of them.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/man/nanorc.5 | 32 +++++++++++++++++++-------------
+ 1 file changed, 19 insertions(+), 13 deletions(-)
+
+diff --git a/doc/man/nanorc.5 b/doc/man/nanorc.5
+index b9c0a19..3fc3c5d 100644
+--- a/doc/man/nanorc.5
++++ b/doc/man/nanorc.5
+@@ -285,9 +285,19 @@ Read in self-contained color syntaxes from \fIsyntaxfile\fP. Note that
+ .SH KEY BINDINGS
+ Key bindings may be reassigned via the following commands:
+ .TP
+-.B bind \fIkey\fP \fIfunction\fP \fImenu\fP
++.B bind \fIkey\fP \fIfunction\fP \fImenu\fP
+ Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
+-context of menu \fImenu\fP. The format of \fIkey\fP should be one of:
++context of menu \fImenu\fP.
++.TP
++.B unbind \fIkey\fP \fImenu\fP
++Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all
++menus by using \fIall\fP. Same key syntax as for binding.
++Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
++context of menu \fImenu\fP.
++.TP
++
++The format of \fIkey\fP should be one of:
++
+ .TP
+ .B ^
+ followed by an alpha character or the word "Space".
+@@ -301,8 +311,10 @@ Example: M-C
+ followed by a numeric value from 1 to 16.
+ Example: F10
+ .TP
+-Valid function names to be bound include:
+-.TP 3
++
++Valid \fIfunction\fP names to be bound include:
++
++.TP 2
+ .B help
+ Invoke the help menu.
+ .TP
+@@ -509,8 +521,9 @@ Toggle whether long lines will be wrapped to the next line.
+ Toggle whether the suspend sequence (normally ^Z) will suspend the editor window.
+ .TP
+
+-Valid menu sections are:
+-.TP
++Valid \fImenu\fP sections are:
++
++.TP 2
+ .B main
+ The main editor window where text is entered.
+ .TP
+@@ -552,13 +565,6 @@ The 'go to directory' menu.
+ .TP
+ .B all
+ A special name meaning: apply to all menus where this function exists.
+-
+-.TP
+-.B unbind \fIkey\fP \fImenu\fP
+-Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all
+-menus by using \fIall\fP. Same key syntax as for binding.
+-Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
+-context of menu \fImenu\fP. The format of \fIkey\fP should be one of:
+ .SH FILES
+ .TP
+ .I SYSCONFDIR/nanorc
+--
+1.8.1.2
+
+From 0d49d9f0c62013e0d86169a92a2d0f5557e7be05 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 28 Nov 2011 15:38:26 -0500
+Subject: [PATCH] nanorc syntax: add bind/unbind commands
+
+We don't currently handle the bind/unbind commands, so adding them to
+your nanorc file with colorization enabled makes it look like they're
+not actually supported.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/syntax/nanorc.nanorc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/doc/syntax/nanorc.nanorc b/doc/syntax/nanorc.nanorc
+index 2c9f23a..494c2f4 100644
+--- a/doc/syntax/nanorc.nanorc
++++ b/doc/syntax/nanorc.nanorc
+@@ -2,10 +2,12 @@
+ ##
+ syntax "nanorc" "\.?nanorc$"
+ ## Possible errors and parameters
+-icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$"
++icolor brightwhite "^[[:space:]]*((un)?(bind|set)|include|syntax|i?color).*$"
+ ## Keywords
+ icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backupdir|backwards|boldtext|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|poslog|preserve|punct)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quickblank|quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|speller|suspend|suspendenable|tabsize|tabstospaces|tempfile|undo|view|whitespace|wordbounds|locking)\>"
+-icolor green "^[[:space:]]*(set|unset|include|syntax|header|magic)\>"
++icolor brightgreen "^[[:space:]]*bind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]+[[:alpha:]]+[[:space:]]*$"
++icolor brightgreen "^[[:space:]]*unbind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]*$"
++icolor green "^[[:space:]]*((un)?(bind|set)|include|syntax|header|magic)\>"
+ ## Colors
+ icolor yellow "^[[:space:]]*i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"
+ icolor magenta "^[[:space:]]*i?color\>" "\<(start|end)="
+--
+1.8.1.2
+
diff --git a/app-editors/nano/files/nano-2.4.0-no-speller.patch b/app-editors/nano/files/nano-2.4.0-no-speller.patch
new file mode 100644
index 000000000000..4405266bb0af
--- /dev/null
+++ b/app-editors/nano/files/nano-2.4.0-no-speller.patch
@@ -0,0 +1,88 @@
+https://bugs.gentoo.org/show_bug.cgi?id=544296
+https://savannah.gnu.org/bugs/?44607
+
+From 14a9c8aa0b124dc580c4805e848e6ff0880b43bd Mon Sep 17 00:00:00 2001
+From: Benno Schulenberg <bensberg@justemail.net>
+Date: Fri, 27 Mar 2015 16:55:49 +0000
+Subject: [PATCH] Treating the formatter like a speller, to fix compilation
+ with --disable-speller. This fixes Savannah bug #44607.
+
+git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5168 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
+---
+ ChangeLog | 2 ++
+ src/global.c | 10 ++++++++--
+ src/text.c | 3 ++-
+ 3 files changed, 12 insertions(+), 3 deletions(-)
+
+ChangeLog
+ * src/global.c, src/text.c: Treat the formatter like a speller, to fix
+ compilation with --disable-speller. Fixes Savannah bug #44607.
+
+diff --git a/src/global.c b/src/global.c
+index 4643af2..27ff938 100644
+--- a/src/global.c
++++ b/src/global.c
+@@ -639,8 +639,10 @@ void shortcut_init(void)
+ const char *nano_lint_msg = N_("Invoke the linter, if available");
+ const char *nano_prevlint_msg = N_("Go to previous linter msg");
+ const char *nano_nextlint_msg = N_("Go to next linter msg");
++#ifndef DISABLE_SPELLER
+ const char *nano_formatter_msg = N_("Invoke formatter, if available");
+ #endif
++#endif
+ #endif /* !DISABLE_HELP */
+
+ #ifndef DISABLE_HELP
+@@ -736,9 +738,11 @@ void shortcut_init(void)
+ #ifndef DISABLE_COLOR
+ add_to_funcs(do_linter, MMAIN,
+ N_("To Linter"), IFSCHELP(nano_lint_msg), TOGETHER, NOVIEW);
++#ifndef DISABLE_SPELLER
+ add_to_funcs(do_formatter, MMAIN,
+ N_("Formatter"), IFSCHELP(nano_formatter_msg), BLANKAFTER, NOVIEW);
+ #endif
++#endif
+
+ #ifndef NANO_TINY
+ add_to_funcs(case_sens_void, MWHEREIS|MREPLACE,
+@@ -1006,12 +1010,14 @@ void shortcut_init(void)
+ #ifndef DISABLE_SPELLER
+ add_to_sclist(MMAIN, "^T", do_spell, 0);
+ add_to_sclist(MMAIN, "F12", do_spell, 0);
++#ifndef DISABLE_COLOR
++ add_to_sclist(MMAIN, "^T", do_formatter, 0);
++ add_to_sclist(MMAIN, "F12", do_formatter, 0);
++#endif
+ #else
+ #ifndef DISABLE_COLOR
+ add_to_sclist(MMAIN, "^T", do_linter, 0);
+ add_to_sclist(MMAIN, "F12", do_linter, 0);
+- add_to_sclist(MMAIN, "^T", do_formatter, 0);
+- add_to_sclist(MMAIN, "F12", do_formatter, 0);
+ #endif
+ #endif
+ add_to_sclist(MMAIN, "^C", do_cursorpos_void, 0);
+diff --git a/src/text.c b/src/text.c
+index 8814b49..98b2f80 100644
+--- a/src/text.c
++++ b/src/text.c
+@@ -3223,6 +3223,7 @@ free_lints_and_return:
+ lint_cleanup();
+ }
+
++#ifndef DISABLE_SPELLER
+ /* Run a formatter for the given syntax.
+ * Expects the formatter to be non-interactive and
+ * operate on a file in-place, which we'll pass it
+@@ -3370,7 +3371,7 @@ void do_formatter(void)
+
+ statusbar(finalstatus);
+ }
+-
++#endif /* !DISABLE_SPELLER */
+ #endif /* !DISABLE_COLOR */
+
+ #ifndef NANO_TINY
+--
+2.3.3
+
diff --git a/app-editors/nano/files/xml.nanorc b/app-editors/nano/files/xml.nanorc
new file mode 100644
index 000000000000..1f68c05341ad
--- /dev/null
+++ b/app-editors/nano/files/xml.nanorc
@@ -0,0 +1,9 @@
+## Here is an example for xml files.
+##
+syntax "xml" "\.([jrs]html?|sgml?|xml|xslt?)$"
+color green start="<" end=">"
+color cyan "<[^> ]+"
+color cyan ">"
+color yellow start="<!DOCTYPE" end="[/]?>"
+color yellow start="<!--" end="-->"
+color red "&[^;]*;"
diff --git a/app-editors/nano/metadata.xml b/app-editors/nano/metadata.xml
new file mode 100644
index 000000000000..98a48959684c
--- /dev/null
+++ b/app-editors/nano/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>vapier@gentoo.org</email>
+</maintainer>
+<longdescription>
+GNU nano - an enhanced clone of the Pico text editor.
+
+The nano project was started because of a few "problems" with the
+wonderfully easy-to-use and friendly Pico text editor.
+
+First and foremost is its license: the Pine suite does not use the
+GPL or a GPL-friendly license, and has unclear restrictions on
+redistribution. Because of this, Pine and Pico are not included with
+many GNU/Linux distributions. Also, other features (like goto line
+number or search and replace) were unavailable until recently or
+require a command line flag. Yuck.
+
+nano aims to solve these problems by emulating the functionality of
+Pico as closely as possible while addressing the problems above and
+perhaps providing other extra functionality.
+</longdescription>
+<use>
+ <flag name='justify'>Enable justify/unjustify functions for text formatting.</flag>
+ <flag name='debug'>
+ Enable debug messages and assert warnings. Note that these will all be sent
+ straight to stderr rather than some logging facility.
+ </flag>
+ <flag name='magic'>
+ Add magic file support (sys-apps/file) to automatically detect appropriate syntax highlighting
+ </flag>
+ <flag name='minimal'>
+ Disable all fancy features, including ones that otherwise have a dedicated
+ USE flag (such as spelling).
+ </flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/nano/nano-1.3.12-r1.ebuild b/app-editors/nano/nano-1.3.12-r1.ebuild
new file mode 100644
index 000000000000..a73448570289
--- /dev/null
+++ b/app-editors/nano/nano-1.3.12-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+#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/v${PV:0:3}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-path.patch
+ epatch "${FILESDIR}"/${P}-scroll.patch
+ epatch "${FILESDIR}"/${P}-fix2.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 speller) \
+ $(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() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml *.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ insinto /usr/share/nano
+ doins "${FILESDIR}"/*.nanorc || die
+ echo $'\n''# include "/usr/share/nano/gentoo.nanorc"' >> "${D}"/etc/nanorc
+
+ 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"
+}
diff --git a/app-editors/nano/nano-2.0.9.ebuild b/app-editors/nano/nano-2.0.9.ebuild
new file mode 100644
index 000000000000..d571152093bb
--- /dev/null
+++ b/app-editors/nano/nano-2.0.9.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ECVS_SERVER="savannah.gnu.org:/cvsroot/nano"
+ ECVS_MODULE="nano"
+ ECVS_AUTH="pserver"
+ ECVS_USER="anonymous"
+ inherit cvs
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ if [[ ! -e configure ]] ; then
+ ./autogen.sh || die "autogen failed"
+ fi
+}
+
+src_compile() {
+ 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 speller) \
+ $(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() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml *.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ insinto /usr/share/nano
+ doins "${FILESDIR}"/*.nanorc || die
+ echo $'\n''# include "/usr/share/nano/gentoo.nanorc"' >> "${D}"/etc/nanorc
+
+ 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"
+}
diff --git a/app-editors/nano/nano-2.1.10.ebuild b/app-editors/nano/nano-2.1.10.ebuild
new file mode 100644
index 000000000000..a5816749fb86
--- /dev/null
+++ b/app-editors/nano/nano-2.1.10.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2[unicode?]
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ subversion_src_unpack
+ else
+ unpack ${A}
+ fi
+ cd "${S}"
+ if [[ ! -e configure ]] ; then
+ ./autogen.sh || die "autogen failed"
+ fi
+}
+
+src_configure() {
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir=/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf} \
+ || die "configure failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+
+ insinto /usr/share/nano
+ local f
+ for f in "${FILESDIR}"/*.nanorc ; do
+ [[ -e ${D}/usr/share/nano/${f##*/} ]] && continue
+ doins "${f}" || die
+ echo "# include \"/usr/share/nano/${f##*/}\"" >> "${D}"/etc/nanorc
+ done
+}
+
+pkg_postinst() {
+ einfo "More helpful info about nano, visit the GDP page:"
+ einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+}
diff --git a/app-editors/nano/nano-2.2.5.ebuild b/app-editors/nano/nano-2.2.5.ebuild
new file mode 100644
index 000000000000..bae4643ce848
--- /dev/null
+++ b/app-editors/nano/nano-2.2.5.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2[unicode?]
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ subversion_src_unpack
+ else
+ unpack ${A}
+ fi
+ cd "${S}"
+ if [[ ! -e configure ]] ; then
+ ./autogen.sh || die "autogen failed"
+ fi
+}
+
+src_configure() {
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf} \
+ || die "configure failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+
+ insinto /usr/share/nano
+ local f
+ for f in "${FILESDIR}"/*.nanorc ; do
+ [[ -e ${ED}/usr/share/nano/${f##*/} ]] && continue
+ doins "${f}" || die
+ echo "# include \"/usr/share/nano/${f##*/}\"" >> "${ED}"/etc/nanorc
+ done
+}
+
+pkg_postinst() {
+ einfo "More helpful info about nano, visit the GDP page:"
+ einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+}
diff --git a/app-editors/nano/nano-2.3.1-r1.ebuild b/app-editors/nano/nano-2.3.1-r1.ebuild
new file mode 100644
index 000000000000..135864c1f3b6
--- /dev/null
+++ b/app-editors/nano/nano-2.3.1-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils autotools
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ 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"
+}
diff --git a/app-editors/nano/nano-2.3.1-r2.ebuild b/app-editors/nano/nano-2.3.1-r2.ebuild
new file mode 100644
index 000000000000..aabd9a9df01b
--- /dev/null
+++ b/app-editors/nano/nano-2.3.1-r2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils autotools
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.3.1-drop-target.patch
+ epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-2.3.1-bind-unbind-docs.patch
+ epatch "${FILESDIR}"/${PN}-2.3.1-{shell,gentoo}-nanorc.patch
+ eautoreconf
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang))
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ rm -rf "${ED}"/usr/share/nano/man-html
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.3.1.ebuild b/app-editors/nano/nano-2.3.1.ebuild
new file mode 100644
index 000000000000..c55cd9365920
--- /dev/null
+++ b/app-editors/nano/nano-2.3.1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2[unicode?]
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+
+src_prepare() {
+ if [[ ! -e configure ]] ; then
+ ./autogen.sh || die
+ fi
+}
+
+src_configure() {
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+
+ insinto /usr/share/nano
+ local f
+ for f in "${FILESDIR}"/*.nanorc ; do
+ [[ -e ${ED}/usr/share/nano/${f##*/} ]] && continue
+ doins "${f}" || die
+ echo "# include \"/usr/share/nano/${f##*/}\"" >> "${ED}"/etc/nanorc
+ done
+}
+
+pkg_postinst() {
+ einfo "More helpful info about nano, visit the GDP page:"
+ einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+}
diff --git a/app-editors/nano/nano-2.3.2-r1.ebuild b/app-editors/nano/nano-2.3.2-r1.ebuild
new file mode 100644
index 000000000000..6a9a8299e144
--- /dev/null
+++ b/app-editors/nano/nano-2.3.2-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils autotools
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-2.3.2-bind-unbind-docs.patch
+ epatch "${FILESDIR}"/${PN}-2.3.1-{shell,gentoo}-nanorc.patch
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${ED}"/usr/share/nano/man-html
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.3.2.ebuild b/app-editors/nano/nano-2.3.2.ebuild
new file mode 100644
index 000000000000..3758ea421a77
--- /dev/null
+++ b/app-editors/nano/nano-2.3.2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils autotools
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-2.3.2-bind-unbind-docs.patch
+ epatch "${FILESDIR}"/${PN}-2.3.1-{shell,gentoo}-nanorc.patch
+ eautoreconf
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ rm -rf "${ED}"/usr/share/nano/man-html
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.3.3.ebuild b/app-editors/nano/nano-2.3.3.ebuild
new file mode 100644
index 000000000000..aa2e65767f95
--- /dev/null
+++ b/app-editors/nano/nano-2.3.3.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.3.4.ebuild b/app-editors/nano/nano-2.3.4.ebuild
new file mode 100644
index 000000000000..aa2e65767f95
--- /dev/null
+++ b/app-editors/nano/nano-2.3.4.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.3.6.ebuild b/app-editors/nano/nano-2.3.6.ebuild
new file mode 100644
index 000000000000..b336c88f8171
--- /dev/null
+++ b/app-editors/nano/nano-2.3.6.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.4.0.ebuild b/app-editors/nano/nano-2.4.0.ebuild
new file mode 100644
index 000000000000..083a3e7a3f24
--- /dev/null
+++ b/app-editors/nano/nano-2.4.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-no-speller.patch #544296
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.4.1.ebuild b/app-editors/nano/nano-2.4.1.ebuild
new file mode 100644
index 000000000000..ce5b18721919
--- /dev/null
+++ b/app-editors/nano/nano-2.4.1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.4.2.ebuild b/app-editors/nano/nano-2.4.2.ebuild
new file mode 100644
index 000000000000..ce5b18721919
--- /dev/null
+++ b/app-editors/nano/nano-2.4.2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}