convenient building. @url{https://www.gnu.org/software/texinfo/, Texinfo}
is used for building documentation.
-Required libraries, dependencies (they are installed automatically when
-using @emph{Make}):
+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{golang.org/x/crypto} @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
@end multitable
-You can get tarball, set proper @code{$GOPATH} and run
-@code{make} (that will install all necessary libraries and build
+Get the tarball and run @code{make}.
@emph{govpn-client}, @emph{govpn-server}, @emph{govpn-verifier}
-binaries):
+binaries will be build 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
% 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
+% tar xf govpn-2.3.tar.xz
+% gmake -C govpn-2.3 all
@end example
@menu
@section Development source code
Development source contains the latest version of the code. It may be
-buggy. Also it does not contain compiled documentation and is not
-recommended for porters because of that.
+buggy. It does not contain compiled documentation and dependent
+libraries source code. Because of that it is not recommended for porters.
You can obtain it by cloning Git repository:
@code{git clone https://github.com/stargrave/govpn.git}.
+@code{src} directory has makefile that will download necessary dependent
+library versions.
Also there is mirror of dependent libraries for safety if their native
repositories will be unavailable (they are seldom updated):
@multitable @columnfractions .50 .50
@headitem Software/library @tab Mirror
@item @code{govpn} @tab @url{git://git.cypherpunks.ru/govpn.git}
-@item @code{golang.org/x/crypto/curve25519} @tab @url{git://git.cypherpunks.ru/crypto.git}
-@item @code{golang.org/x/crypto/poly1305} @tab @url{git://git.cypherpunks.ru/crypto.git}
-@item @code{golang.org/x/crypto/salsa20} @tab @url{git://git.cypherpunks.ru/crypto.git}
-@item @code{golang.org/x/crypto/xtea} @tab @url{git://git.cypherpunks.ru/crypto.git}
-@item @code{golang.org/x/crypto/pbkdf2} @tab @url{git://git.cypherpunks.ru/crypto.git}
+@item @code{golang.org/x/crypto} @tab @url{git://git.cypherpunks.ru/crypto.git}
@item @code{github.com/agl/ed25519} @tab @url{git://git.cypherpunks.ru/ed25519.git}
@end multitable
tmp=$(mktemp -d)
release=$1
[ -n "$release" ]
+
git clone . $tmp/govpn-$release
+cat > $tmp/includes <<EOF
+github.com
+golang.org/x/crypto/AUTHORS
+golang.org/x/crypto/CONTRIBUTORS
+golang.org/x/crypto/LICENSE
+golang.org/x/crypto/PATENTS
+golang.org/x/crypto/README
+golang.org/x/crypto/curve25519
+golang.org/x/crypto/pbkdf2
+golang.org/x/crypto/poly1305
+golang.org/x/crypto/salsa20
+golang.org/x/crypto/xtea
+EOF
+tar cfCI - src $tmp/includes | tar xfC - $tmp/govpn-$release/src
+rm $tmp/includes
+
cd $tmp/govpn-$release
git checkout $release
-rm -fr .git
-find . -name .gitignore -delete
+
cat > doc/download.texi <<EOF
@node Prepared tarballs
@section Prepared tarballs
You can obtain releases source code prepared tarballs on
@url{http://www.cypherpunks.ru/govpn/}.
EOF
-rm utils/makedist.sh
make -C doc
-cd $tmp
+
+rm utils/makedist.sh
+find . -name .git -type d | xargs rm -fr
+find . -name .gitignore -delete
+
+cd ..
tar cvf govpn-"$release".tar govpn-"$release"
xz -9 govpn-"$release".tar
gpg --detach-sign --sign --local-user FFE2F4A1 govpn-"$release".tar.xz