]> Cypherpunks.ru repositories - nncp.git/blob - doc/building.texi
Note the baredo redo implementation
[nncp.git] / doc / building.texi
1 @node Build-instructions
2 @section Build instructions
3
4 Make sure that Go is installed. For example to install it from packages:
5
6 @table @asis
7 @item FreeBSD
8     @verb{|pkg install go|}
9 @item Debian, Ubuntu
10     @verb{|apt install golang|}
11 @end table
12
13 @example
14 $ [fetch|wget] http://www.nncpgo.org/download/nncp-@value{VERSION}.tar.xz
15 $ [fetch|wget] http://www.nncpgo.org/download/nncp-@value{VERSION}.tar.xz.sig
16 $ gpg --verify nncp-@value{VERSION}.tar.xz.sig nncp-@value{VERSION}.tar.xz
17 $ xz --decompress --stdout nncp-@value{VERSION}.tar.xz | tar xf -
18 $ cd nncp-@value{VERSION}
19 $ redo all
20 @end example
21
22 After that you should get various @command{bin/nncp-*} binaries and
23 @command{bin/hjson-cli} command (only for your convenience, not
24 necessary installation). For example, documentation for
25 @command{nncp-bundle} command can be get with
26 @command{info doc/nncp.info -n nncp-bundle}.
27
28 It uses @url{http://cr.yp.to/redo.html, redo} build system for that
29 examples. You can use one of its various implementations, or at least
30 minimalistic POSIX shell @command{contrib/do} (just replace
31 @command{redo} with @command{contrib/do} in the example above) included
32 in tarball. Following ones are tested to work with:
33 @url{http://www.goredo.cypherpunks.ru/, goredo} (NNCP's author creation),
34 @url{https://redo.readthedocs.io/, apenwarr/redo} (@code{contrib/do} is
35 from that project), @url{https://github.com/leahneukirchen/redo-c, redo-c},
36 @url{https://github.com/gotroyb127/baredo, baredo}.
37
38 There is @command{install} target respecting @env{$DESTDIR}. It will
39 install binaries and info-documentation:
40
41 @example
42 # PREFIX=/usr/local redo install
43 @end example
44
45 NNCP depends on @code{github.com/fsnotify/fsnotify} library, that is
46 solely relies on OS-specific mechanisms. There is possibility that you
47 have either broken or unsupported ones. You can still build NNCP with
48 @code{-tags nofsnotify} build option, to skip @code{fsnotify} library
49 usage at all.