@node Build-instructions @section Build instructions Make sure that Go is installed. For example to install it from packages: @table @asis @item FreeBSD @verb{|pkg install go|} @item Debian, Ubuntu @verb{|apt install golang|} @end table @example $ [fetch|wget] http://www.nncpgo.org/download/nncp-@value{VERSION}.tar.xz $ [fetch|wget] http://www.nncpgo.org/download/nncp-@value{VERSION}.tar.xz.sig $ gpg --verify nncp-@value{VERSION}.tar.xz.sig nncp-@value{VERSION}.tar.xz $ xz --decompress --stdout nncp-@value{VERSION}.tar.xz | tar xf - $ cd nncp-@value{VERSION} $ redo all @end example After that you should get various @command{bin/nncp-*} binaries and @command{bin/hjson-cli} command (only for your convenience, not necessary installation). For example, documentation for @command{nncp-bundle} command can be get with @command{info doc/nncp.info -n nncp-bundle}. It uses @url{http://cr.yp.to/redo.html, redo} build system for that examples. You can use one of its various implementations, or at least minimalistic POSIX shell @command{contrib/do} (just replace @command{redo} with @command{contrib/do} in the example above) included in tarball. Following ones are tested to work with: @url{http://www.goredo.cypherpunks.ru/, goredo} (NNCP's author creation), @url{https://redo.readthedocs.io/, apenwarr/redo} (@code{contrib/do} is from that project), @url{https://github.com/leahneukirchen/redo-c, redo-c}, @url{https://github.com/gotroyb127/baredo, baredo}. There is @command{install} target respecting @env{$DESTDIR}. It will install binaries and info-documentation: @example # PREFIX=/usr/local redo install @end example NNCP depends on @code{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 @code{-tags nofsnotify} build option, to skip @code{fsnotify} library usage at all.