Next: , Previous: , Up: Installation   [Index]


Build instructions

Make sure that Go is installed. For example to install it from packages:

FreeBSD

pkg install go

Debian, Ubuntu

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.


Next: Development source code, Previous: Tarballs integrity check, Up: Installation   [Index]