]> Cypherpunks.ru repositories - gogost.git/blobdiff - install.texi
Update dependencies
[gogost.git] / install.texi
index 93c181f364ff9088af5e8044c424565eff4bfa5c..fec94ebcfe5ecdc1ffa32af76d555eafe82e1626 100644 (file)
@@ -1,18 +1,17 @@
 @node Download
 @unnumbered Download
 
-@set VERSION 4.2.2
-
 Preferable way is to download tarball with the signature from
 website and, for example, run tests with benchmarks:
 
 @example
-$ [fetch|wget] http://gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz
-$ [fetch|wget] http://gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz.sig
-$ gpg --verify gogost-@value{VERSION}.tar.xz.sig gogost-@value{VERSION}.tar.xz
-$ xz --decompress --stdout gogost-@value{VERSION}.tar.xz | tar xf -
-$ make -C gogost-@value{VERSION} all bench
-$ echo hello world | gogost-@value{VERSION}/streebog256
+$ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.zst
+$ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.zst.asc
+$ gpg --verify gogost-@value{VERSION}.tar.zst.asc gogost-@value{VERSION}.tar.zst
+$ zstd --decompress --stdout gogost-@value{VERSION}.tar.zst | tar xf -
+$ cd gogost-@value{VERSION}
+$ go build -mod=vendor -o streebog256 ./cmd/streebog256
+$ echo hello world | ./streebog256
 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
 @end example
 
@@ -22,10 +21,9 @@ And then you can include its source code in your project for example
 like this:
 
 @example
-$ mkdir -p myproj/src
-$ cp -r gogost-@value{VERSION}/src/go.cypherpunks.ru myproj/src
-$ export GOPATH=$PWD/myproj
-$ cd myproj/src
+$ mkdir -p myproj/vendor/go.cypherpunks.ru/gogost
+$ mv gogost-@value{VERSION} myproj/vendor/go.cypherpunks.ru/gogost/v5
+$ cd myproj
 $ cat > main.go <<EOF
 package main
 
@@ -33,7 +31,7 @@ import (
     "encoding/hex"
     "fmt"
 
-    "go.cypherpunks.ru/gogost/v4/gost34112012256"
+    "go.cypherpunks.ru/gogost/v5/gost34112012256"
 )
 
 func main() @{
@@ -63,12 +61,12 @@ uid   GoGOST releases <gogost at cypherpunks dot ru>
 
 @itemize
 
-@item @url{https://lists.cypherpunks.ru/mailman/listinfo/gost, gost} maillist
+@item @url{http://lists.cypherpunks.ru/gost.html, gost} maillist
 
 @item
 @example
 $ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
-$ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
+$ gpg --auto-key-locate  wkd --locate-keys gogost at cypherpunks dot ru
 @end example
 
 @item
@@ -76,27 +74,45 @@ $ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
 
 @end itemize
 
-GoGOST is also @command{go get}-able. For example to use
+GoGOST is also @command{go get}-able. For example to install
 @command{streebog256} utility:
 
 @example
-$ go get go.cypherpunks.ru/gogost/cmd/streebog256
+$ go install go.cypherpunks.ru/gogost/v5/cmd/streebog256@@latest
 @end example
 
-@code{go.cypherpunks.ru} uses @url{https://www.cacert.org/, CACert.org}
-certificate authority, that is not included by default in some operating
-system distributions and probably you have to install it in your system,
-because @command{go get} uses HTTPS connections. If you have issues
-using either @code{sum.golang.org} or @code{proxy.golang.org}, then you
-can disable their usage with @env{GOPRIVATE=go.cypherpunks.ru/gogost}
-environment variable.
+@code{go.cypherpunks.ru} uses @code{ca.cypherpunks.ru} X.509 CA
+authority, that may complicate installation:
+
+@itemize
+
+@item Go's default @code{proxy.golang.org} and @code{sum.golang.org}
+services won't be able to verify @code{go.cypherpunks.ru}'s TLS
+authenticity, because there are no common trust anchors. You can skip
+their usage by setting @env{$GOPRIVATE=go.cypherpunks.ru}.
+
+@item You can (temporarily) override CA certificate bundle during installation:
 
-Also you can use @code{replace} feature inside your @file{go.mod}, like:
+@example
+$ [fetch|wget] http://www.ca.cypherpunks.ru/cert.pem
+$ [fetch|wget] http://www.ca.cypherpunks.ru/cert.pem.asc
+$ gpg --auto-key-locate dane --locate-keys stargrave at stargrave dot org
+$ gpg --auto-key-locate  wkd --locate-keys stargrave at gnupg dot net
+$ gpg --verify cert.pem.asc
+$ SSL_CERT_FILE=`pwd`/cert.pem GIT_SSL_CAINFO=`pwd`/cert.pem go get \
+    go.cypherpunks.ru/gogost/v5
+@end example
+
+@item You can unpack tarball somewhere and use @code{replace} command in
+your local @file{go.mod}:
 
 @example
-require go.cypherpunks.ru/gogost/v4 v@value{VERSION}
-replace go.cypherpunks.ru/gogost/v4 => /home/stargrave/gogost-@value{VERSION}/src/go.cypherpunks.ru/gogost/v4
+require go.cypherpunks.ru/gogost/v5 v@value{VERSION}
+replace go.cypherpunks.ru/gogost/v5 => /path/to/gogost-@value{VERSION}
 @end example
 
+@end itemize
+
 You can obtain development source code with
-@command{git clone git://git.cypherpunks.ru/gogost.git}.
+@command{git clone git://git.cypherpunks.ru/gogost.git}
+(also you can use @url{https://git.cypherpunks.ru/gogost.git}).