Blame README.GIT

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