INSTRUCTIONS FOR COMPILING AND INSTALLING NANO FROM GIT ======================================================= The latest changes and fixes for GNU nano are available via git, but building this needs a bit more care than the official tarballs. Prerequisites ------------- To successfully compile GNU nano from git, you'll need the following packages: - autoconf (version >= 2.69) - automake (version >= 1.14) - autopoint (version >= 0.18.3) - gcc (version >= 5.0) - gettext (version >= 0.18.3) - git (version >= 2.7.4) - groff (version >= 1.12) - make (any version) - pkg-config (version >= 0.22) - texinfo (version >= 4.0) You will also need to have the header files for ncurses installed, from libncurses-dev on Debian, ncurses-devel on Fedora, or similar. These should all be available in your distro's package manager or software center, or otherwise on any GNU mirror. Download the source ------------------- To obtain the current nano development branch (called 'master'), use the following command. It will create in your current working directory a subdirectory called 'nano' containing a copy of all of the files: $ git clone git://git.savannah.gnu.org/nano.git nano Generate the configure script ----------------------------- Once you have the sources in the "nano" directory, $ cd nano $ ./autogen.sh This will set up a configure script and a Makefile.in file. Configure your build -------------------- To configure your build, run the configure script from the nano source directory: $ ./configure [--add-options-here] Build and install ----------------- From the nano source directory, build the code with: $ make Then, once it's done compiling, run: $ make install which should copy various files (i.e. the nano executable, the info and man pages, and syntax highlighting pattern files) to their appropriate directories. If you're installing into the default install directory (/usr/local), you'll need to run that "make install" command with root privileges. Problems? --------- Please submit any bugs you find in the code in git via the bug tracker on Savannah (https://savannah.gnu.org/bugs/?group=nano). Contributing something ---------------------- If you have a fix for a bug, or the code for a new or improved feature, first create a branch off of master: $ git checkout -b somename Then change the code so it does what you want, and commit it together with your Sign-off: $ git commit -as In the commit message (after the one-line summary) give a rationale for the change. With your Signed-off-by you declare that the code is yours, or that you are free to reuse it, and that you submit it under the license that covers nano. Then create a patch (or patches): $ git format-patch master Send that patch (or patches) to , as an attachment or with git send-email. To keep most lines of nano's source code within a width of 80 characters, a tab size of four should be used. So in your nanorc file you may want to include 'set tabsize 4', or you could use -T4 on the command line. To make git display things as intended, you can do: $ git config --local core.pager "less -x1,5" To see all types that are used in nano's source code colorized as types, you can add these lines to your ~/.nanorc: extendsyntax c color green "\" extendsyntax c color green "\" extendsyntax c color green "\" extendsyntax c color green "\<([[:lower:]_]+(struct|type)|va_list)\>"