export CROSS_PREFIX=i686-pc-linux-gnu export TARGET=i686-pc-linux-gnu export TOOLCHAIN=/usr/local/evansport-pc-linux-gnu export AR=${TOOLCHAIN}/bin/${CROSS_PREFIX}-ar export AS=${TOOLCHAIN}/bin/${CROSS_PREFIX}-as export CC=${TOOLCHAIN}/bin/${CROSS_PREFIX}-gcc export CXX=${TOOLCHAIN}/bin/${CROSS_PREFIX}-g++ export LD=${TOOLCHAIN}/bin/${CROSS_PREFIX}-ld export LDSHARED="${TOOLCHAIN}/bin/${CROSS_PREFIX}-gcc -shared " export RANLIB=${TOOLCHAIN}/bin/${CROSS_PREFIX}-ranlib export CFLAGS="-I${TOOLCHAIN}/include -O3 ${MARCH}" export LDFLAGS="-L${TOOLCHAIN}/lib" export PKG_CONFIG_PATH="${TOOLCHAIN}/lib/pkgconfig" #DSM 5.0 already includes libncursesw so we can link the nano binary to this #fetch the source which was extracted from the Synology DSM 5.0 source tarball wget https://dl.dropboxusercontent.com/u/1188556/ncurses-5.x.zip unzip ncurses-5.x.zip cd ncurses-5.x ./configure --prefix=${TOOLCHAIN} --host=${TARGET} --build=x86_64-linux-gnu --with-shared --without-normal --without-progs --without-debug --enable-widec make make install cd .. wget http://www.nano-editor.org/dist/v2.2/nano-2.2.6.tar.gz tar xvzf nano-2.2.6.tar.gz cd nano-2.2.6 #src/nano.h:92:20: fatal error: curses.h: No such file or directory #http://blog.csdn.net/alienspy/article/details/24135761 wget http://dl.dropboxusercontent.com/u/1188556/nano.h.patch patch nano.h < nano.h.patch CFLAGS="${CFLAGS} -I${TOOLCHAIN}/include/ncurses" ./configure --prefix=${TOOLCHAIN} --host=${TARGET} --build=x86_64-linux-gnu --enable-utf8 --disable-nls --enable-color --enable-extra --enable-multibuffer --enable-nanorc #sudo apt-get install texinfo sed -i -e "s%^CPPFLAGS = -I/usr/include/ncursesw%CPPFLAGS = -I${TOOLCHAIN}/include/ncurses%" Makefile sed -i -e "s%^CPPFLAGS = -I/usr/include/ncursesw%CPPFLAGS = -I${TOOLCHAIN}/include/ncurses%" src/Makefile make make install #now install it to /usr/local/bin
nano.h.patch
--- src/nano.h.old 2014-09-17 12:16:15.006206100 +0100 +++ src/nano.h 2014-09-17 12:19:01.226206100 +0100 @@ -86,10 +86,10 @@ #define KEY_IC SL_KEY_IC /* Ncurses support. */ #elif defined(HAVE_NCURSES_H) -#include <ncurses.h> +#include <ncursesw/ncurses.h> #else /* Curses support. */ -#include <curses.h> +#include <ncursesw/curses.h> #endif /* CURSES_H */ #ifdef ENABLE_NLS
~/.nanorc
# BASIC syntax "BAS" "\.(bas|BAS|bas.txt)$" color red "^ +[0-9]* " color red "\b(GO TO|GO SUB) ([0-9]+)\b" color yellow "\b(AND|NOT|OR)\b" color yellow "(|=|<|>|<=|>=|<>)" color magenta "\b(FOR [a-z]|NEXT [a-z]|GO TO|GO SUB|RETURN)\b" color brightwhite "\b(IF|THEN)\b" color green ""(\\.|[^\"])*"" color brightcyan "\bREM .*$" ############################################################################## # # Syntax highlighting for XML files # # Author: Josef 'Jupp' Schugt, jupp(a)rubyforge.org # License: GPL 2 or later # # Version: 2004-02-25 # ############################################################################## syntax "ml" ".*\.([jrs]?html?|xml|sgml?)$" color white "^.+$" color green start="<" end=">" color cyan "<[^> ]+" color cyan ">" color yellow start="<!DOCTYPE" end="[/]?>" color yellow start="<!--" end="-->" color red "&[^;]*;" ############################################################################## # # Syntax highlighting for HTTP codes # # Author: Josef 'Jupp' Schugt, jupp(a)rubyforge.org # License: GPL 2 or later # # Version: 2004-02-25 # ############################################################################## syntax "urls" color brightmagenta "^.*$" color cyan "^(1[0-9][0-9]|20[256]|30[45]).*$" color green "^20[03].*$" color brightyellow "^(201|30[0-37]).*$" color brightred "^(204|[45][0-9][0-9]|666).*$" ############################################################################## # # Syntax highlighting for CSS files # # Author: Simon Rupf, simon.rupf(a)int-ag.ch # License: GPL 2 or later # # Version: 2005-02-14 # ############################################################################## 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 ";|:|\{|\}" syntax "sh" "\.sh$" #icolor brightgreen "^[0-9A-Z_]+\(\)" #color green "\b(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\b" #color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" #color green "-[Ldefgruwx]\b" #color green "-(eq|ne|gt|lt|ge|le|s|n|z)\b" #color brightblue "\b(cat|cd|chmod|chown|cp|echo|env|export|grep|install|let|ln|make|mkdir|mv|rm|sed|set|tar|touch|umask|unset)\b" icolor brightwhite "\$\{?[0-9A-Z_!@#$*?-]+\}?" color brightcyan "(^|[[:space:]])#.*$" #color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" #color cyan ""(\\.|[^"])*"" "'(\\.|[^'])*'" #color ,green "[[:space:]]+$"