]> Cypherpunks.ru repositories - govpn.git/blobdiff - doc/installation.texi
Replace Argon2 with Balloon hashing
[govpn.git] / doc / installation.texi
index d725aa9facf57edd7db9ce7bdba6d40ec7c6fb92..01ac54b8e1cbc48aaf04a193ad7f7f08ac2c17dc 100644 (file)
@@ -1,48 +1,58 @@
 @node Installation
 @unnumbered Installation
 
-GoVPN is written on @url{http://golang.org/, Go programming language},
-@url{https://www.gnu.org/software/make/, GNU Make} is recommended for
-convenient building. @url{https://www.gnu.org/software/texinfo/, Texinfo}
-is used for building documentation.
+Possibly GoVPN already exists in your distribution:
 
-Required libraries, dependencies (they are installed automatically when
-using @emph{Make}):
+@itemize
+@item @url{https://aur.archlinux.org/packages/govpn/, Arch Linux AUR}
+@item @url{http://www.freshports.org/security/govpn/, FreeBSD ports}
+@item @url{https://gpo.zugaina.org/net-misc/govpn, Gentoo Portage Overlay}
+@item @url{https://pkgs.org/download/govpn, openSUSE OSS}
+@end itemize
+
+GoVPN is written on @url{https://golang.org/, Go} programming language
+and you have to install Go compiler (1.5+ version is highly recommended,
+1.4 is the minimal sufficient): @code{lang/go} port in FreeBSD and
+@code{golang} package in most GNU/Linux distributions. @emph{Make} (BSD
+and GNU ones are fine) is recommended for convenient building.
+@url{https://www.gnu.org/software/texinfo/, Texinfo} (6.1+ version is
+recommended) is used for building documentation. Possibly you also need
+to install TUN/TAP interface utilities (depending on your operating
+system): @code{uml-utilities} package in most GNU/Linux distributions.
+
+Included required libraries:
 
 @multitable @columnfractions .40 .20 .40
 @headitem Library @tab Platform @tab Licence
-@item @code{golang.org/x/crypto/curve25519} @tab All @tab BSD 3-Clause
-@item @code{golang.org/x/crypto/poly1305} @tab All @tab BSD 3-Clause
-@item @code{golang.org/x/crypto/salsa20} @tab All @tab BSD 3-Clause
-@item @code{golang.org/x/crypto/xtea} @tab All @tab BSD 3-Clause
-@item @code{golang.org/x/crypto/pbkdf2} @tab All @tab BSD 3-Clause
 @item @code{github.com/agl/ed25519} @tab All @tab BSD 3-Clause
 @item @code{github.com/bigeagle/water} @tab GNU/Linux @tab BSD 3-Clause
+@item @code{github.com/dchest/blake2b} @tab All @tab CC0 1.0
+@item @code{github.com/go-yaml/yaml} @tab All @tab LGPLv3 and MIT
+@item @code{golang.org/x/crypto} @tab All @tab BSD 3-Clause
 @end multitable
 
-You can get tarball, set proper @code{$GOPATH} and run
-@code{make} (that will install all necessary libraries and build
+Get @ref{Tarballs, the tarball}, check its
+@ref{Integrity, integrity and authenticity} and run @command{make}.
 @emph{govpn-client}, @emph{govpn-server}, @emph{govpn-verifier}
-binaries):
+binaries will be built in the current directory:
 
-@example
-% mkdir -p govpn/src
-% set -e
-% wget http://www.cypherpunks.ru/govpn/download/govpn-2.3.tar.xz
-% wget http://www.cypherpunks.ru/govpn/download/govpn-2.3.tar.xz.sig
+@verbatim
+% wget http://www.govpn.info/download/govpn-2.3.tar.xz
+% wget http://www.govpn.info/download/govpn-2.3.tar.xz.sig
 % gpg --verify govpn-2.3.tar.xz.sig govpn-2.3.tar.xz
-% tar xfC govpn-2.3.tar.xz govpn/src
-% mv govpn/src/govpn-2.3 govpn/src/govpn
-% export GOPATH=$(pwd)/govpn:$GOPATH
-% gmake -C govpn/src/govpn all
-@end example
+% tar xf govpn-2.3.tar.xz
+% make -C govpn-2.3 all
+@end verbatim
+
+There is @code{install} target respecting @env{DESTDIR}. It will
+install binaries, info-documentation and utilities.
 
 @menu
-* Prepared tarballs::
-* Development source code::
-* Tarballs integrity check::
+* Prepared tarballs: Tarballs.
+* Tarballs integrity check: Integrity.
+* Development source code: Sources.
 @end menu
 
 @include download.texi
-@include sources.texi
 @include integrity.texi
+@include sources.texi