X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Fbuilding.texi;h=a0fdd5619e873d638dc87064bcb4c524e0579b61;hb=HEAD;hp=1489294dcf8fd1f4d593d0aec3344a08bc107649;hpb=fa3b1beeaed63e63e809489c16338b7aee75f85d;p=nncp.git diff --git a/doc/building.texi b/doc/building.texi index 1489294..7405d39 100644 --- a/doc/building.texi +++ b/doc/building.texi @@ -1,4 +1,5 @@ @node Build-instructions +@cindex building @section Build instructions Make sure that Go is installed. For example to install it from packages: @@ -10,17 +11,72 @@ Make sure that Go is installed. For example to install it from packages: @verb{|apt install golang|} @end table -@verbatim -$ [fetch|wget] http://www.nncpgo.org/download/nncp-5.0.0.tar.xz -$ [fetch|wget] http://www.nncpgo.org/download/nncp-5.0.0.tar.xz.sig -$ gpg --verify nncp-5.0.0.tar.xz.sig nncp-5.0.0.tar.xz -$ xz --decompress --stdout nncp-5.0.0.tar.xz | tar xf - -$ make -C nncp-5.0.0 all -@end verbatim +@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.@{asc,sig@} +[verify signature] +$ xz -d < nncp-@value{VERSION}.tar.xz | tar xf - +$ cd nncp-@value{VERSION} +[optionally edit config] +$ bin/build +@end example -There is @command{install} make-target respecting @env{DESTDIR}. It will -install binaries and info-documentation: +@pindex info +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}. -@verbatim -# make -C nncp-5.0.0 install PREFIX=/usr/local -@end verbatim +@vindex PREFIX +@vindex DESTDIR +@vindex GO +@vindex MAKEINFO +@vindex PLANTUML +@vindex PREFIX +@vindex SENDMAIL +@vindex CFGPATH +@vindex SPOOLPATH +@vindex LOGPATH +@vindex BINDIR +@vindex INFODIR +@vindex DOCDIR +@file{config} file contains some environment variables that are +respected during installation: +@env{$PREFIX}, +@env{$DESTDIR}, +@env{$GO}, +@env{$MAKEINFO}, +@env{$PLANTUML}, +@env{$PREFIX}, +@env{$SENDMAIL}, +@env{$CFGPATH}, +@env{$SPOOLPATH}, +@env{$LOGPATH}, +@env{$BINDIR}, +@env{$INFODIR}, +@env{$DOCDIR}. + +There is @command{install} script for binaries and info-documentation +installation: + +@example +# PREFIX=/usr/local ./install +@end example + +@vindex nofsnotify +@cindex kqueue +@cindex epoll +@vindex GO_CFLAGS +NNCP depends on @code{github.com/fsnotify/fsnotify} library, that 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: + +@example +$ GO_CFLAGS="-tags nofsnotify" bin/build +@end example + +@vindex noyggdrasil +You can also disable Yggdrasil support with @code{-tags noyggdrasil}.