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.
To successfully compile GNU nano from git, you'll need the following
- autoconf (version >= 2.69)
- automake (version >= 1.14)
- autopoint (version >= 0.18.3)
- gettext (version >= 0.18.3)
- git (version >= 2.7.4)
- groff (version >= 1.12)
- pkg-config (version >= 0.22)
- texinfo (version >= 4.0)
- gcc (any version)
- make (any version)
If you want UTF-8 support, you will also need libncursesw5-dev installed
(version >= 5.7), or libslang2-dev (version >= 2.0) if you use --with-slang.
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
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
$ ./configure [--add-options-here]
Build and install
From the nano source directory, build the code with:
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
If you're installing into the default install directory (/usr/local),
you'll need to run that "make install" command with root privileges.
Please submit any bugs you find in the code in git via the bug tracker
on Savannah (https://savannah.gnu.org/bugs/?group=nano).
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 <email@example.com>, 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"