Make sure that Go is installed. For example to install it from packages:
pkg install go
apt install golang
$ [fetch|wget] http://www.nncpgo.org/download/nncp-8.8.2.tar.xz $ [fetch|wget] http://www.nncpgo.org/download/nncp-8.8.2.tar.xz.sig $ gpg --verify nncp-8.8.2.tar.xz.sig nncp-8.8.2.tar.xz $ xz --decompress --stdout nncp-8.8.2.tar.xz | tar xf - $ cd nncp-8.8.2 $ redo all
After that you should get various bin/nncp-* binaries and
bin/hjson-cli command (only for your convenience, not
necessary installation). For example, documentation for
nncp-bundle command can be get with
info doc/nncp.info -n nncp-bundle.
It uses redo build system for that
examples. You can use one of its various implementations, or at least
minimalistic POSIX shell contrib/do (just replace
redo with contrib/do in the example above) included
in tarball. Following ones are tested to work with:
goredo (NNCP’s author creation),
apenwarr/redo (contrib/do is
from that project), redo-c,
baredo.
config file contains some environment variables that are
respected during installation:
$PREFIX,
$DESTDIR,
$GO,
$MAKEINFO,
$PLANTUML,
$PREFIX,
$SENDMAIL,
$CFGPATH,
$SPOOLPATH,
$LOGPATH,
$BINDIR,
$INFODIR,
$DOCDIR.
There is install target for binaries and info-documentation
installation:
# PREFIX=/usr/local redo install
NNCP depends on github.com/fsnotify/fsnotify library, that is
solely relies on OS-specific mechanisms. There is possibility that you
have either broken or unsupported ones. You can still build NNCP with
-tags nofsnotify build option, to skip fsnotify library
usage at all:
$ GO_CFLAGS="-tags nofsnotify" redo …
You can also disable Yggdrasil support with -tags noyggdrasil.