Patchwork gnu: Add syncthing.

login
register
mail settings
Submitter Petter
Date Dec. 15, 2016, 9:06 p.m.
Message ID <2d54ddb40494e3c6229e2a464ffe02c3@mykolab.ch>
Download mbox | patch
Permalink /patch/18499/
State New
Headers show

Comments

Petter - Dec. 15, 2016, 9:06 p.m.
Hi again,

I've prefixed most of the packages with "golang-" now. However, there 
are some
packages already starting with "golang-", f.ex. 
"golang-org-x-text-unicode-norm",
and I left those alone. It's inconsistent, but I felt this was 
preferable to
names like "golang-golang-org-x-text-unicode-norm". What do you think?

Also, all the packages have meta-data now: synopsis, description, 
home-page and
license. And the (version) field have been adapted to the Guix 
guidelines.

Also also, a new version of Syncthing with some security fixes was just 
released,
and I've updated the recipe to this version (0.14.14).

Finally, there's a telemetry configuration in Syncthing. It is opt-in; 
but it
will ask the user after a few hours if they want to join. The plan is to 
disable
the question, however I suspect I've messed up the build system in that 
area, so
this takes some more looking in to.

Best,
Petter
Leo Famulari - Dec. 16, 2016, 1:52 a.m.
On Thu, Dec 15, 2016 at 10:06:59PM +0100, Petter wrote:
> Hi again,
> 
> I've prefixed most of the packages with "golang-" now. However, there are
> some
> packages already starting with "golang-", f.ex.
> "golang-org-x-text-unicode-norm",
> and I left those alone. It's inconsistent, but I felt this was preferable to
> names like "golang-golang-org-x-text-unicode-norm". What do you think?

That's the right way. It fits the package naming guidelines:

https://www.gnu.org/software/guix/manual/html_node/Package-Naming.html

> Finally, there's a telemetry configuration in Syncthing. It is opt-in;
> but it will ask the user after a few hours if they want to join. The
> plan is to disable the question, however I suspect I've messed up the
> build system in that area, so this takes some more looking in to.

Personally, I'm fine with the upstream "opt-in" nag warning. It only
shows up when you open the Syncthing web interface; it's not an
intrusive desktop "notification". Once the user has said "yes" or "no",
it doesn't appear again until Syncthing makes a change to what
information they collect.

But, if people think our package should never ask, I don't mind if we
disable the request, as long as we share our changes with the Syncthing
project and they don't notice anything broken.

Many of my comments below are about tedious things. Let us know if you
are getting sick of working on these packages, and I will help :) This
includes improving the descriptions.

> Date: Thu, 15 Dec 2016 21:42:03 +0100
> Subject: [PATCH] gnu: Add Syncthing.
> 
> * gnu/packages/syncthing.scm: New file.

Cool!

> +(define-public syncthing

> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/syncthing/syncthing/")
> +                    (commit (string-append "v" version))))
> +              (file-name (string-append name "-" version "-checkout"))

We should use the Syncthing release tarball:

https://github.com/syncthing/syncthing/releases/download/v0.14.14/syncthing-source-v0.14.14.tar.gz

> +    (arguments
> +     `(#:import-path "github.com/syncthing/syncthing"

What do you think about having the go-build-system try to automatically
generate the import-path based on the source URL, with the option for
the packager to set it manually, as shown here?

For many of the packages in this patch (which will eventually be split
into one package per patch ;) ), that auto-generated import-path
could be correct.

I think that an (arguments) field indicates that the package's build
scripts have deviated from the standard. If a Guix build system requires
all of its packages to do something in (arguments), the build system
should be extended :)

> +       #:phases
> +       (modify-phases %standard-phases
> +         (replace 'delete-files
> +           (lambda _
> +             (delete-file-recursively "src/github.com/syncthing/syncthing/vendor")))
> +
> +         (replace 'build
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (with-directory-excursion "src/github.com/syncthing/syncthing"
> +               (zero? (system* "go" "run" "build.go" "install" "syncthing" "-no-upgrade")))))
> +
> +         (replace 'install
> +           (lambda _
> +             (copy-recursively "src/github.com/syncthing/syncthing/bin/"
> +                               (string-append (assoc-ref %outputs "out") "/bin"))
> +             (copy-recursively "pkg"
> +                               (string-append (assoc-ref %outputs "out") "/pkg"))
> +             (copy-recursively "src"
> +                               (string-append (assoc-ref %outputs "out") "/src")))))))
> +

Does this package need to use custom build and install phases?

> +(define-public golang-github-com-audriusbutkevicius-go-nat-pmp
> +  (let ((commit "452c97607362b2ab5a7839b8d1704f0396b640ca"))

Don't forget the revision counter :)

> +(define-public golang-github-com-bkaradzic-go-lz4
> +  (package
> +    (name "golang-github-com-bkaradzic-go-lz4")
> +    (version "1.0.0")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/bkaradzic/go-lz4")
> +                    (commit "74ddf82598bc4745b965729e9c6a463bedd33049")))

For packages that we build from a Git tag (rather than an untagged
commit), you should do (commit (string-append "v" version)).

Although, if there is a release tarball, it's preferable to use it.

> +(define-public golang-github-com-calmh-xdr
> +  (let ((commit "f9b9f8f7aa27725f5cabb699bd9099ca7ce09143")
> +        (revision "1"))
> +    (package
> +      (name "golang-github-com-calmh-xdr")
> +      (version (string-append "2.0.0-" revision "." (string-take commit 7)))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/calmh/xdr")
> +                      (commit commit)))

You could also fetch this one with the Git tag, or use the tarball.

> +(define-public golang-github-com-cznic-bufs
> +  (let ((commit "3dcccbd7064a1689f9c093a988ea11ac00e21f51"))
> +    (package
> +      (name "golang-github-com-cznic-bufs")
> +      (version (string-append "20160818." (string-take commit 7)))

Is this string '20160818' the date of the commit? If the package has no
releases, we use '0.0.0' in place of the version.

> +    (arguments
> +     `(#:import-path "github.com/cznic/internal/slice"
> +       #:unpack-path "github.com/cznic/internal"))

Is it too much to wonder if both the import-path and the unpack-path
could be auto-generated in cases like this? :)

Patch

From f6b8324f4200c2dc89967b5f097fc8e28292bd5a Mon Sep 17 00:00:00 2001
From: Petter <petter@mykolab.ch>
Date: Thu, 15 Dec 2016 21:42:03 +0100
Subject: [PATCH] gnu: Add Syncthing.

* gnu/packages/syncthing.scm: New file.
---
 gnu/packages/syncthing.scm | 1257 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 1257 insertions(+)
 create mode 100644 gnu/packages/syncthing.scm

diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
new file mode 100644
index 0000000..c4da737
--- /dev/null
+++ b/gnu/packages/syncthing.scm
@@ -0,0 +1,1257 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Petter <petter@mykolab.ch>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages syncthing)
+  #:use-module (guix build-system go)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix licenses)
+  #:use-module (gnu packages golang))
+
+(define-public syncthing
+  (package
+    (name "syncthing")
+    (version "0.14.14")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/syncthing/syncthing/")
+                    (commit (string-append "v" version))))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "1c9x7j6pbbd3i34nvisw70v2l3llp3dhw5cvd72jgx3gm0j3v31y"))))
+    (build-system go-build-system)
+    (inputs
+     `(("github.com/AudriusButkevicius/go-nat-pmp"
+        ,golang-github-com-audriusbutkevicius-go-nat-pmp)
+       ("github.com/vitrun/qart/coding" ,golang-github-com-vitrun-qart-coding)
+       ("github.com/vitrun/qart/gf256" ,golang-github-com-vitrun-qart-gf256)
+       ("github.com/vitrun/qart/qr" ,golang-github-com-vitrun-qart-qr)
+       ("github.com/thejerf/suture" ,golang-github-com-thejerf-suture)
+       ("github.com/syndtr/goleveldb" ,golang-github-com-syndtr-goleveldb)
+       ("github.com/sasha-s/go-deadlock" ,golang-github-com-sasha-s-go-deadlock)
+       ("github.com/rcrowley/go-metrics" ,golang-github-com-rcrowley-go-metrics)
+       ("github.com/minio/sha256-simd" ,golang-github-com-minio-sha256-simd)
+       ("github.com/kardianos/osext" ,golang-github-com-kardianos-osext)
+       ("github.com/juju/ratelimit" ,golang-github-com-juju-ratelimit)
+       ("github.com/jackpal/gateway" ,golang-github-com-jackpal-gateway)
+       ("github.com/gogo/protobuf" ,golang-github-com-gogo-protobuf)
+       ("github.com/gobwas/glob" ,golang-github-com-gobwas-glob)
+       ("github.com/calmh/xdr" ,golang-github-com-calmh-xdr)
+       ("github.com/calmh/luhn" ,golang-github-com-calmh-luhn)
+       ("github.com/calmh/du" ,golang-github-com-calmh-du)
+       ("github.com/bkaradzic/go-lz4" ,golang-github-com-bkaradzic-go-lz4)
+       ("github.com/golang/snappy" ,golang-github-com-golang-snappy)
+       ("golang.org/x/crypto/bcrypt" ,golang-org-x-crypto-bcrypt)
+       ("golang.org/x/crypto/blowfish" ,golang-org-x-crypto-blowfish)
+       ("golang.org/x/text/transform" ,golang-org-x-text-transform)
+       ("golang.org/x/text/unicode/norm" ,golang-org-x-text-unicode-norm)
+       ("golang.org/x/net/proxy" ,golang-org-x-net-proxy)
+       ("golang.org/x/net/bpf" ,golang-org-x-net-bpf)
+       ("golang.org/x/net/ipv6" ,golang-org-x-net-ipv6)
+       ("golang.org/x/net/internal/iana" ,golang-org-x-net-internal-iana)
+       ("golang.org/x/net/internal/netreflect"
+        ,golang-org-x-net-internal-netreflect)))
+    (arguments
+     `(#:import-path "github.com/syncthing/syncthing"
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'delete-files
+           (lambda _
+             (delete-file-recursively "src/github.com/syncthing/syncthing/vendor")))
+
+         (replace 'build
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "src/github.com/syncthing/syncthing"
+               (zero? (system* "go" "run" "build.go" "install" "syncthing" "-no-upgrade")))))
+
+         (replace 'install
+           (lambda _
+             (copy-recursively "src/github.com/syncthing/syncthing/bin/"
+                               (string-append (assoc-ref %outputs "out") "/bin"))
+             (copy-recursively "pkg"
+                               (string-append (assoc-ref %outputs "out") "/pkg"))
+             (copy-recursively "src"
+                               (string-append (assoc-ref %outputs "out") "/src")))))))
+
+    (synopsis "Continuous File Synchronization")
+    (description "This is the Syncthing project which pursues the following goals:
+
+    1. Define a protocol for synchronization of a folder between a number of collaborating devices. This protocol should be well defined, unambiguous, easily understood, free to use, efficient, secure and language neutral. This is called the Block Exchange Protocol.
+
+    2. Provide the reference implementation to demonstrate the usability of said protocol. This is the syncthing utility. We hope that alternative, compatible implementations of the protocol will arise.
+
+The two are evolving together; the protocol is not to be considered stable until Syncthing 1.0 is released, at which point it is locked down for incompatible changes")
+    (home-page "https://github.com/syncthing/syncthing")
+    (license mpl2.0)))
+
+(define-public golang-github-com-audriusbutkevicius-go-nat-pmp
+  (let ((commit "452c97607362b2ab5a7839b8d1704f0396b640ca"))
+    (package
+      (name "golang-github-com-audriusbutkevicius-go-nat-pmp")
+      (version (string-append "20160522" (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/AudriusButkevicius/go-nat-pmp")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "1accmpl1llk16a19nlyy991fqrgfay6l53gb64hgmdfmqljdvbk7"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/AudriusButkevicius/go-nat-pmp"))
+      (synopsis "Port mapping and discovery of the external IP address")
+      (description "Go client for the NAT-PMP internet protocol for port mapping and discovering the external IP address of a firewall")
+      (home-page "https://github.com/AudriusButkevicius/go-nat-pmp")
+      (license asl2.0))))
+
+(define-public golang-github-com-bkaradzic-go-lz4
+  (package
+    (name "golang-github-com-bkaradzic-go-lz4")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/bkaradzic/go-lz4")
+                    (commit "74ddf82598bc4745b965729e9c6a463bedd33049")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "1vdid8v0c2v2qhrg9rzn3l7ya1h34jirrxfnir7gv7w6s4ivdvc1"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/bkaradzic/go-lz4"))
+    (synopsis "Port of LZ4 lossless compression algorithm")
+    (description "go-lz4 is port of LZ4 lossless compression algorithm to Go")
+    (home-page "https://github.com/bkaradzic/go-lz4")
+    (license bsd-2)))
+
+(define-public golang-github-com-calmh-du
+  (package
+    (name "golang-github-com-calmh-du")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/calmh/du")
+                    (commit "3c0690cca16228b97741327b1b6781397afbdb24")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "1mv6mkbslfc8giv47kyl97ny0igb3l7jya5hc75sm54xi6g205wa"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/calmh/du"))
+    (synopsis "Get total and available disk space on a given volume")
+    (description "Get disk usage information like how much space is available, free, and used")
+    (home-page "https://github.com/calmh/du")
+    (license public-domain)))
+
+(define-public golang-github-com-calmh-luhn
+  (package
+    (name "golang-github-com-calmh-luhn")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/calmh/luhn")
+                    (commit "0c8388ff95fa92d4094011e5a04fc99dea3d1632")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "1hfj1lx7wdpifn16zqrl4xml6cj5gxbn6hfz1f46g2a6bdf0gcvs"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/calmh/luhn"))
+    (synopsis "Luhn-mod-N implementation in Go")
+    (description "Luhn-mod-N implementation in Go")
+    (home-page "https://github.com/calmh/luhn")
+    (license x11)))
+
+(define-public golang-github-com-calmh-xdr
+  (let ((commit "f9b9f8f7aa27725f5cabb699bd9099ca7ce09143")
+        (revision "1"))
+    (package
+      (name "golang-github-com-calmh-xdr")
+      (version (string-append "2.0.0-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/calmh/xdr")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "0l1w1l9iy4b4054v260jysqvl16hylr7hvkimlfgr0ng9m6r1vz0"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/calmh/xdr"))
+      (synopsis "XDR marshalling/unmarshalling library")
+      (description "XDR marshalling/unmarshalling library. It uses code generation and not reflection")
+      (home-page "https://github.com/calmh/xdr")
+      (license x11))))
+
+(define-public golang-github-com-cznic-b
+  (let ((commit "bcff30a622dbdcb425aba904792de1df606dab7c"))
+    (package
+      (name "golang-github-com-cznic-b")
+      (version (string-append "20160716." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/cznic/b")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "0lw0d926wqxfn32yhvl5c5wh36glgdvsm5v01w4xys18cgcliasr"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/cznic/b"))
+      (synopsis "Implements a B+tree")
+      (description "Implements a B+tree")
+      (home-page "https://github.com/cznic/b")
+      (license bsd-3))))
+
+(define-public golang-github-com-cznic-bufs
+  (let ((commit "3dcccbd7064a1689f9c093a988ea11ac00e21f51"))
+    (package
+      (name "golang-github-com-cznic-bufs")
+      (version (string-append "20160818." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/cznic/bufs")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "0w75wc15k0gayvj6fhnqgap1y2rhq51zvslhp3v4y1vcb11mbdw9"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/cznic/bufs"))
+      (synopsis "Implements a simple buffer cache")
+      (description "Implements a simple buffer cache")
+      (home-page "https://github.com/cznic/bufs")
+      (license bsd-3))))
+
+(define-public golang-github-com-cznic-fileutil
+  (let ((commit "1c9c88fbf552b3737c7b97e1f243860359687976"))
+    (package
+      (name "golang-github-com-cznic-fileutil")
+      (version (string-append "20180708." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/cznic/fileutil")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "1imk4wjgfhyb4m8dm8qbm5lz263lyb27602v3mx8j3dzqjpagg8g"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/cznic/fileutil"))
+      (synopsis "Collects some file utility functions")
+      (description "Collects some file utility functions")
+      (home-page "https://github.com/cznic/fileutil")
+      (license bsd-3))))
+
+(define-public golang-github-com-cznic-internal-buffer
+  (package
+    (name "golang-github-com-cznic-internal-buffer")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/cznic/internal")
+                    (commit "cef02a853c3a93623c42eacd574e7ea05f55531b")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "06zrlm94kq21q795pyhqqxlh3p8v6wahnkj4c1nsydg65bnh9c76"))))
+    (build-system go-build-system)
+    (inputs
+     `(("github.com/cznic/mathutil" ,golang-github-com-cznic-mathutil)))
+    (arguments
+     `(#:import-path "github.com/cznic/internal/buffer"
+       #:unpack-path "github.com/cznic/internal"))
+    (synopsis "Things that cannot be imported by 3rd party packages")
+    (description "Things that cannot be imported by 3rd party packages. Package buffer implements a pool of pointers to byte slices")
+    (home-page "https://github.com/cznic/internal/")
+    (license bsd-3)))
+
+(define-public golang-github-com-cznic-internal-file
+  (package
+    (name "golang-github-com-cznic-internal-file")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/cznic/internal")
+                    (commit "cef02a853c3a93623c42eacd574e7ea05f55531b")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "06zrlm94kq21q795pyhqqxlh3p8v6wahnkj4c1nsydg65bnh9c76"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/cznic/internal/file"
+       #:unpack-path "github.com/cznic/internal"))
+    (synopsis "Things that cannot be imported by 3rd party packages")
+    (description "Things that cannot be imported by 3rd party packages. Package file provides an os.File-like interface of a memory mapped file")
+    (home-page "https://github.com/cznic/internal/")
+    (license bsd-3)))
+
+(define-public golang-github-com-cznic-internal-slice
+  (package
+    (name "golang-github-com-cznic-internal-slice")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url (string-append "https://github.com/cznic/internal"))
+                    (commit "cef02a853c3a93623c42eacd574e7ea05f55531b")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "06zrlm94kq21q795pyhqqxlh3p8v6wahnkj4c1nsydg65bnh9c76"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/cznic/internal/slice"
+       #:unpack-path "github.com/cznic/internal"))
+    (synopsis "Things that cannot be imported by 3rd party packages")
+    (description "Things that cannot be imported by 3rd party packages. Package slice implements pools of pointers to slices")
+    (home-page "")
+    (license bsd-3)))
+
+(define-public golang-github-com-cznic-lldb
+  (package
+    (name "golang-github-com-cznic-lldb")
+    (version "1.0.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url (string-append "https://github.com/cznic/lldb"))
+                    (commit "7376b3bed3d27a7b640e264bfaf278d6d5232550")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "1f3jwc1zimcip52zkaj2pscginmxy9a9il8pi7w74z578ibqb1bv"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/cznic/lldb"))
+    (synopsis "Package lldb implements a low level database engine")
+    (description "Package lldb implements a low level database engine")
+    (home-page "https://github.com/cznic/lldb")
+    (license bsd-3)))
+
+(define-public golang-github-com-cznic-mathutil
+  (let ((commit "78ad7f262603437f0ecfebc835d80094f89c8f54"))
+    (package
+      (name "golang-github-com-cznic-mathutil")
+      (version (string-append "20161012." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url (string-append "https://github.com/cznic/mathutil"))
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "0c5fcjvkp8czqgwpgbvd2vngw1c8w8b38yvvl7fzppq81dm298lz"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/cznic/mathutil"))
+      (synopsis "Utilities supplemental to the Go standard \"rand\" and \"math\" packages")
+      (description "Utilities supplemental to the Go standard \"rand\" and \"math\" packages")
+      (home-page "https://github.com/cznic/mathutil")
+      (license bsd-3))))
+
+(define-public golang-github-com-cznic-ql
+  (package
+    (name "golang-github-com-cznic-ql")
+    (version "1.0.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url (string-append "https://github.com/cznic/ql"))
+                    (commit "c81467d34c630800dd4ba81033e234a8159ff2e3")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "1klqjqbxyw71y8i2wq9wdrjjjp19vckqi5j6wc4n0nidq78lsjry"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/cznic/ql"))
+    (synopsis "Package ql is a pure Go embedded SQL database")
+    (description "Package ql is a pure Go embedded SQL database")
+    (home-page "https://github.com/cznic/ql")
+    (license bsd-3)))
+
+(define-public golang-github-com-cznic-sortutil
+  (let ((commit "4c7342852e65c2088c981288f2c5610d10b9f7f4"))
+    (package
+      (name "golang-github-com-cznic-sortutil")
+      (version (string-append "20160617." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url (string-append "https://github.com/cznic/sortutil"))
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "1i46kdwnh8p54sp0jkybd3ayc599hdy37kvwqrxlg746flz5inyl"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/cznic/sortutil"))
+      (synopsis "Utilities supplemental to the Go standard \"sort\" package")
+      (description "Utilities supplemental to the Go standard \"sort\" package")
+      (home-page "https://github.com/cznic/sortutil")
+      (license bsd-3))))
+
+(define-public golang-github-com-cznic-strutil
+  (let ((commit "1eb03e3cc9d345307a45ec82bd3016cde4bd4464"))
+    (package
+      (name "golang-github-com-cznic-strutil")
+      (version (string-append "20160430." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url (string-append "https://github.com/cznic/strutil"))
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "0n4ib4ixpxh4fah145s2ikbzyqxbax8gj44081agg8jkzs74cnvm"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/cznic/strutil"))
+      (synopsis "Package strutil collects utils supplemental to the standard strings package")
+      (description "Package strutil collects utils supplemental to the standard strings package")
+      (home-page "https://github.com/cznic/strutil")
+      (license bsd-3))))
+
+
+(define-public golang-github-com-cznic-zappy
+  (let ((commit "2533cb5b45cc6c07421468ce262899ddc9d53fb7"))
+    (package
+      (name "golang-github-com-cznic-zappy")
+      (version (string-append "20160623." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url (string-append "https://github.com/cznic/zappy"))
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "0mhldcqi0sqbyqs75b28cskz96iz51ymdsrx6m3i60wi94ym89yc"))))
+      (build-system go-build-system)
+      (inputs
+       `(("github.com/cznic/internal/buffer" ,golang-github-com-cznic-internal-buffer)
+         ("github.com/cznic/mathutil" ,golang-github-com-cznic-mathutil)))
+      (arguments
+       `(#:import-path "github.com/cznic/zappy"))
+      (synopsis "Package zappy implements the zappy block-based compression format")
+      (description "Package zappy implements the zappy block-based compression format. It aims for a combination of good speed and reasonable compression.")
+      (home-page "https://github.com/cznic/zappy")
+      (license bsd-3))))
+
+(define-public golang-github-com-d4l3k-messagediff
+  (package
+    (name "golang-github-com-d4l3k-messagediff")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url (string-append "https://github.com/d4l3k/messagediff"))
+                    (commit "7b706999d935b04cf2dbc71a5a5afcbd288aeb48")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "0z64dwqk4xdwkj3f8bpqw0db87vgfamxzc65wn8lm6rfq3qjy1v5"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/d4l3k/messagediff"))
+    (synopsis "A library for doing diffs of arbitrary Golang structs")
+    (description "A library for doing diffs of arbitrary Golang structs")
+    (home-page "https://github.com/d4l3k/messagediff")
+    (license x11)))
+
+(define-public golang-github-com-edsrzf-mmap-go
+  (let ((commit "935e0e8a636ca4ba70b713f3e38a19e1b77739e8"))
+    (package
+      (name "golang-github-com-edsrzf-mmap-go")
+      (version (string-append "20160512." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/edsrzf/mmap-go")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "11a63wrjwfnchjhwqjp6yd5j0370ysppjgv31l5bmvvwps7whq9d"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/edsrzf/mmap-go"))
+      (synopsis "Portable mmap package for Go")
+      (description "Portable mmap package for Go")
+      (home-page "https://github.com/edsrzf/mmap-go")
+      (license bsd-3))))
+
+(define-public golang-github-com-gobwas-glob
+  (package
+    (name "golang-github-com-gobwas-glob")
+    (version "0.2.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/gobwas/glob")
+                    (commit "bea32b9cd2d6f55753d94a28e959b13f0244797a")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "0dx0f293v1a0d8qi7ik5hdl26dapd8xm0hj9a9gc620vhj7khi9q"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/gobwas/glob"))
+    (synopsis "Go Globbing Library")
+    (description "Go Globbing Library")
+    (home-page "https://github.com/gobwas/glob")
+    (license x11)))
+
+(define-public golang-github-com-gogo-protobuf
+  (let ((commit "7883e1468d48d969e1c3ce4bcde89b6a7dd4adc4"))
+    (package
+      (name "golang-github-com-gogo-protobuf")
+      (version (string-append "0.2-1." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/gogo/protobuf")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "16ja7lqq96q0pnzgnbwnh0j8qzvqgns1nfk8ndxgkg4sg93bg372"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/gogo/protobuf/proto"
+         #:unpack-path "github.com/gogo/protobuf"))
+      (synopsis "Protocol Buffers for Go with Gadgets")
+      (description "gogoprotobuf is a fork of golang/protobuf with extra code generation features.
+
+This code generation is used to achieve:
+
+    fast marshalling and unmarshalling
+    more canonical Go structures
+    goprotobuf compatibility
+    less typing by optionally generating extra helper code
+    peace of mind by optionally generating test and benchmark code
+    other serialization formats
+")
+      (home-page "https://github.com/gogo/protobuf")
+      (license asl2.0))))
+
+(define-public golang-github-com-golang-groupcache-lru
+  (let ((commit "02826c3e79038b59d737d3b1c0a1d937f71a4433"))
+    (package
+      (name "golang-github-com-golang-groupcache-lru")
+      (version (string-append "20160516." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/golang/groupcache")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "0w46bsllddfij66nrg8jbfjsr54birvfww8a2fj9fmgyig5syn2x"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/golang/groupcache/lru"
+         #:unpack-path "github.com/golang/groupcache"))
+      (synopsis "groupcache is a caching and cache-filling library")
+      (description "groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases")
+      (home-page "https://github.com/golang/groupcache")
+      (license asl2.0))))
+
+(define-public golang-github-com-golang-snappy
+  (let ((commit "5f1c01d9f64b941dd9582c638279d046eda6ca31"))
+    (package
+      (name "golang-github-com-golang-snappy")
+      (version (string-append "20160304." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/golang/snappy")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "0qyhbgdjy2gf93y9c1n54a6ql75vinvwdqn6i4fi8i773j0vdjvf"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/golang/snappy"))
+      (synopsis "Snappy compression format in the Go programming language")
+      (description "Snappy compression format in the Go programming language")
+      (home-page "https://github.com/golang/snappy")
+      (license bsd-3))))
+
+(define-public golang-github-com-jackpal-gateway
+  (package
+    (name "golang-github-com-jackpal-gateway")
+    (version "1.0.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jackpal/gateway")
+                    (commit "3e333950771011fed13be63e62b9f473c5e0d9bf")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "1bsml9kx49ihsnlq5k8cw7875ar4vmh9q15kpxn0dlvpafmma1bi"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/jackpal/gateway"))
+    (synopsis "Library for discovering the address of a LAN gateway")
+    (description "Library for discovering the address of a LAN gateway")
+    (home-page "https://github.com/jackpal/gateway")
+    (license bsd-3)))
+
+(define-public golang-github-com-juju-ratelimit
+  (let ((commit "77ed1c8a01217656d2080ad51981f6e99adaa177"))
+    (package
+      (name "golang-github-com-juju-ratelimit")
+      (version (string-append "20151125." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/juju/ratelimit")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "1r7xdl3bpdzny4d05fpm229864ipghqwv5lplv5im5b4vhv9ryp7"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/juju/ratelimit"))
+      (synopsis "Token-bucket-based rate limiter package")
+      (description "Token-bucket-based rate limiter package")
+      (home-page "https://github.com/juju/ratelimit")
+      (license lgpl3))))
+
+(define-public golang-github-com-kardianos-osext
+  (let ((commit "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc"))
+    (package
+      (name "golang-github-com-kardianos-osext")
+      (version (string-append "20151222." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/kardianos/osext")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/kardianos/osext"))
+      (synopsis "Extensions to the standard \"os\" package. Executable and ExecutableFolder")
+      (description "Extensions to the standard \"os\" package. Executable and ExecutableFolder")
+      (home-page "https://github.com/kardianos/osext")
+      (license bsd-3))))
+
+(define-public golang-github-com-lib-pq
+  (let ((commit "ee1442bda7bd1b6a84e913bdb421cb1874ec629d")
+        (revision "1"))
+    (package
+      (name "golang-github-com-lib-pq")
+      (version (string-append "go1.0-cutoff-" revision "."
+                              (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/lib/pq")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "09nvbls0ka9v6bla9b2ls3cnjm2fsynzlbn4d2a3p0rmqnha35g7"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/lib/pq"))
+      (synopsis "Pure Go Postgres driver for database/sql")
+      (description "Pure Go Postgres driver for database/sql")
+      (home-page "https://github.com/lib/pq")
+      (license x11))))
+
+(define-public golang-github-com-minio-sha256-simd
+  (let ((commit "672e7bc9f3482375df73741cf57a157fe187ec26"))
+    (package
+      (name "golang-github-com-minio-sha256-simd")
+      (version (string-append "20160907." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/minio/sha256-simd")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "1a94cp0czir03w6ag12a7wnvs4cg9956i8mjm18pmgkx4c13qkwq"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/minio/sha256-simd"))
+      (synopsis "Pure Go implementation of SHA256 using SIMD instructions for Intel and ARM")
+      (description "Pure Go implementation of SHA256 using SIMD instructions for Intel and ARM")
+      (home-page "https://github.com/minio/sha256-simd")
+      (license asl2.0))))
+
+(define-public golang-github-com-onsi-ginkgo
+  (let ((commit "ac3d45ddd7ef5c4d7fc4d037b615a81f4d67981e")
+        (revision "1"))
+    (package
+      (name "golang-github-com-onsi-ginkgo")
+      (version (string-append "1.2.0-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/onsi/ginkgo")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "1kq82l8x1ky03hcv8zdllvzqddf8i1yxajj76w21cchd1akzqr78"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/onsi/ginkgo"))
+      (synopsis "BDD Testing Framework for Go")
+      (description "BDD Testing Framework for Go")
+      (home-page "https://github.com/onsi/ginkgo")
+      (license x11))))
+
+(define-public golang-github-com-onsi-gomega
+  (let ((commit "a1094b2db2d4845621602c667bd4ccf09834544e")
+        (revision "1"))
+    (package
+      (name "golang-github-com-onsi-gomega")
+      (version (string-append "1.0-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/onsi/gomega")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "0gwwb50jn9yz6aac8pdgidffnnr5h7whz75fmd9r78m6lpljvks0"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/onsi/gomega"))
+      (synopsis "Ginkgo's Preferred Matcher Library")
+      (description "Ginkgo's Preferred Matcher Library")
+      (home-page "https://github.com/onsi/gomega")
+      (license x11))))
+
+(define-public golang-github-com-oschwald-geoip2-golang
+  (let ((commit "51714a0e79df40e00a94ae5086ec2a5532c9ee57")
+        (revision "1"))
+    (package
+      (name "golang-github-com-oschwald-geoip2-golang")
+      (version (string-append "0.1.0-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/oschwald/geoip2-golang")
+                      (commit "51714a0e79df40e00a94ae5086ec2a5532c9ee57")))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "1clcyv6wc79n9wckmwv21x7d8jkgrikr9pa159aml492gknpw2y8"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/oschwald/geoip2-golang"))
+      (synopsis "Unofficial MaxMind GeoIP2 Reader for Go")
+      (description "Unofficial MaxMind GeoIP2 Reader for Go")
+      (home-page "https://github.com/oschwald/geoip2-golang")
+      (license isc))))
+
+(define-public golang-github-com-oschwald-maxminddb-golang
+  (let ((commit "a26428e0305b837e06fe69221489819126a346c8")
+        (revision "1"))
+    (package
+      (name "golang-github-com-oschwald-maxminddb-golang")
+      (version (string-append "0.2.0-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/oschwald/maxminddb-golang")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "0d5a2bqsanxy57bfgwl9dwd230agi3fd14vay0jhb2fmhpw3bb73"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/oschwald/maxminddb-golang"))
+      (synopsis "MaxMind DB Reader for Go")
+      (description "MaxMind DB Reader for Go")
+      (home-page "https://github.com/oschwald/maxminddb-golang")
+      (license isc))))
+
+(define-public golang-github-com-rcrowley-go-metrics
+  (let ((commit "eeba7bd0dd01ace6e690fa833b3f22aaec29af43"))
+    (package
+      (name "golang-github-com-rcrowley-go-metrics")
+      (version (string-append "20160226." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/rcrowley/go-metrics")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "18jissbw1226vzqmqpgk3f3qdgwi9cb1i8x9hhq28bc9zv0c4j79"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/rcrowley/go-metrics"))
+      (synopsis "Go port of Coda Hale's Metrics library")
+      (description "Go port of Coda Hale's Metrics library")
+      (home-page "https://github.com/rcrowley/go-metrics")
+      (license bsd-2))))
+
+(define-public golang-github-com-sasha-s-go-deadlock
+  (package
+    (name "golang-github-com-sasha-s-go-deadlock")
+    (version "0.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/sasha-s/go-deadlock")
+                    (commit "09aefc0ac06ad74d91ca31acdb11fc981c159149")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "193cdmd6vrnl6vdv6pr3671cpl1nwapdawqs462xmqkf16mggjfz"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/sasha-s/go-deadlock"))
+    (synopsis "Online deadlock detection in go")
+    (description "Online deadlock detection in go")
+    (home-page "https://github.com/sasha-s/go-deadlock")
+    (license asl2.0)))
+
+(define-public golang-github-com-stathat-go
+  (let ((commit "91dfa3a59c5b233fef9a346a1460f6e2bc889d93"))
+    (package
+      (name "golang-github-com-stathat-go")
+      (version (string-append "20160304." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/stathat/go")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "105ql5v8r4hqcsq0ag7asdxqg9n7rvf83y1q1dj2nfjyn4manv6r"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/stathat/go"))
+      (synopsis "This is a Go package for posting stats to your StatHat account")
+      (description "This is a Go package for posting stats to your StatHat account")
+      (home-page "https://github.com/stathat/go")
+      (license x11))))
+
+(define-public golang-github-com-syndtr-goleveldb
+  (let ((commit "6ae1797c0b42b9323fc27ff7dcf568df88f2f33d"))
+    (package
+      (name "golang-github-com-syndtr-goleveldb")
+      (version (string-append "20160825." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/syndtr/goleveldb")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32 "0cxsm8zlf3c53z2gk73walqrp0gl8bn49fb0dlap4kgwqd6p5dx8"))))
+      (build-system go-build-system)
+      (inputs
+       `(("github.com/golang/snappy" ,golang-github-com-golang-snappy)))
+      (arguments
+       `(#:import-path "github.com/syndtr/goleveldb/leveldb"
+         #:unpack-path "github.com/syndtr/goleveldb"))
+      (synopsis "LevelDB key/value database in Go")
+      (description "This is an implementation of the LevelDB key/value database in the Go programming language")
+      (home-page "https://github.com/syndtr/goleveldb")
+      (license bsd-2))))
+
+(define-public golang-github-com-thejerf-suture
+  (package
+    (name "golang-github-com-thejerf-suture")
+    (version "2.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/thejerf/suture")
+                    (commit "fe1c0d795ff7a7e54fc54ef6afb36ee0adf0c276")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32 "082j4rd1l52djm4sv63f3rh2r5nwzvpdvnyps85qjw1i1cd8c7sn"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/thejerf/suture"))
+    (synopsis "Supervisor trees for Go")
+    (description "Suture provides Erlang-ish supervisor trees for Go. \"Supervisor trees\" -> \"sutree\" -> \"suture\" -> holds your code together when it's trying to die.
+
+This library has hit maturity, and isn't expected to be changed radically. This can also be imported via gopkg.in/thejerf/suture.v1 .
+
+It is intended to deal gracefully with the real failure cases that can occur with supervision trees (such as burning all your CPU time endlessly restarting dead services), while also making no unnecessary demands on the \"service\" code, and providing hooks to perform adequate logging with in a production environment")
+    (home-page "https://github.com/thejerf/suture")
+    (license x11)))
+
+(define-public golang-github-com-vitrun-qart-coding
+  (let ((commit "ccb109cf25f0cd24474da73b9fee4e7a3e8a8ce0"))
+    (package
+      (name "golang-github-com-vitrun-qart-coding")
+      (version (string-append "20160420." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/vitrun/qart")
+                      (commit commit)))
+                (file-name (string-append "golang-github-com-vitrun-qart-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "0bhp768b8ha6f25dmhwn9q8m2lkbn4qnjf8n7pizk25jn5zjdvc8"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/vitrun/qart/coding"
+         #:unpack-path "github.com/vitrun/qart"))
+      (synopsis "Package coding implements low-level QR coding details")
+      (description "Instead of scribbling on redundant pieces and relying on error correction to preserve the meaning, qart engineers the encoded values to create the picture in a code with no inherent errors. Package coding implements low-level QR coding details")
+      (home-page "https://github.com/vitrun/qart/")
+      (license bsd-3))))
+
+(define-public golang-github-com-vitrun-qart-gf256
+  (let ((commit "ccb109cf25f0cd24474da73b9fee4e7a3e8a8ce0"))
+    (package
+      (name "golang-github-com-vitrun-qart-gf256")
+      (version (string-append "20160420." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/vitrun/qart")
+                      (commit commit)))
+                (file-name (string-append "golang-github-com-vitrun-qart-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "0bhp768b8ha6f25dmhwn9q8m2lkbn4qnjf8n7pizk25jn5zjdvc8"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/vitrun/qart/gf256"
+         #:unpack-path "github.com/vitrun/qart"))
+      (synopsis "Package gf256 implements arithmetic over the Galois Field GF(256)")
+      (description "Instead of scribbling on redundant pieces and relying on error correction to preserve the meaning, qart engineers the encoded values to create the picture in a code with no inherent errors. Package gf256 implements arithmetic over the Galois Field GF(256)")
+      (home-page "https://github.com/vitrun/qart")
+      (license bsd-3))))
+
+(define-public golang-github-com-vitrun-qart-qr
+  (let ((commit "ccb109cf25f0cd24474da73b9fee4e7a3e8a8ce0"))
+    (package
+      (name "golang-github-com-vitrun-qart-qr")
+      (version (string-append "20160420." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/vitrun/qart")
+                      (commit commit)))
+                (file-name (string-append "golang-github-com-vitrun-qart-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "0bhp768b8ha6f25dmhwn9q8m2lkbn4qnjf8n7pizk25jn5zjdvc8"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/vitrun/qart/qr"
+         #:unpack-path "github.com/vitrun/qart"))
+      (synopsis "Qart generates not-so-ugly qr codes")
+      (description "Instead of scribbling on redundant pieces and relying on error correction to preserve the meaning, qart engineers the encoded values to create the picture in a code with no inherent errors.")
+      (home-page "https://github.com/vitrun/qart")
+      (license bsd-3))))
+
+(define-public golang-org-x-crypto-bcrypt
+  (let ((commit "e311231e83195f401421a286060d65643f9c9d40"))
+    (package
+      (name "golang-org-x-crypto-bcrypt")
+      (version (string-append "20160912." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/crypto")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-crypto-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "1n3p77z0x9rifvymifpvnmfcfzxnly9da2zghrhb3jrkvjvjc2mw"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/x/crypto/bcrypt"
+         #:unpack-path "golang.org/x/crypto"))
+      (synopsis "Go supplementary cryptography libraries")
+      (description "Go supplementary cryptography libraries")
+      (home-page "https://go.googlesource.com/crypto/")
+      (license bsd-3))))
+
+
+(define-public golang-org-x-crypto-blowfish
+  (let ((commit "e311231e83195f401421a286060d65643f9c9d40"))
+    (package
+      (name "golang-org-x-crypto-blowfish")
+      (version (string-append "20160912." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/crypto")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-crypto-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "1n3p77z0x9rifvymifpvnmfcfzxnly9da2zghrhb3jrkvjvjc2mw"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/x/crypto/blowfish"
+         #:unpack-path "golang.org/x/crypto"))
+      (synopsis "Go supplementary cryptography libraries")
+      (description "Go supplementary cryptography libraries")
+      (home-page "https://go.googlesource.com/crypto/")
+      (license bsd-3))))
+
+(define-public golang-org-x-net-bpf
+  (let ((commit "749a502dd1eaf3e5bfd4f8956748c502357c0bbe"))
+    (package
+      (name "golang-org-x-net-bpf")
+      (version (string-append "20160912." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/net")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-net-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "18z4iqprpaf6264cac9g3jp8qdx4i4p0w724rqgglx8dfj78dx9v"))))
+      (build-system go-build-system)
+      (inputs
+       `(("golang.org/x/net/internal/iana" ,golang-org-x-net-internal-iana)
+         ("golang.org/x/net/internal/netreflect" ,golang-org-x-net-internal-netreflect)))
+      (arguments
+       `(#:import-path "golang.org/x/net/bpf"
+         #:unpack-path "golang.org/x/net"))
+      (synopsis "Go supplementary network libraries")
+      (description "Go supplementary network libraries")
+      (home-page "https://go.googlesource.com/net/")
+      (license bsd-3))))
+
+(define-public golang-org-x-net-context
+  (let ((commit "749a502dd1eaf3e5bfd4f8956748c502357c0bbe"))
+    (package
+      (name "golang-org-x-net-context")
+      (version (string-append "20160912." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/net")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-net-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "18z4iqprpaf6264cac9g3jp8qdx4i4p0w724rqgglx8dfj78dx9v"))))
+      (build-system go-build-system)
+      (inputs
+       `(("golang.org/x/net/internal/iana" ,golang-org-x-net-internal-iana)
+         ("golang.org/x/net/internal/netreflect" ,golang-org-x-net-internal-netreflect)))
+      (arguments
+       `(#:import-path "golang.org/x/net/context"
+         #:unpack-path "golang.org/x/net"))
+      (synopsis "Go supplementary network libraries")
+      (description "Go supplementary network libraries")
+      (home-page "https://go.googlesource.com/net/")
+      (license bsd-3))))
+
+(define-public golang-org-x-net-internal-iana
+  (let ((commit "08f168e593b5aab61849054b77981de812666697"))
+    (package
+      (name "golang-org-x-net-internal-iana")
+      (version (string-append "20160226." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/net")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-net-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "1vmzs4gqj0jlg1313gkisnp0c6914qn3781lnbzmbnjfs8paflr7"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/x/net/internal/iana"
+         #:unpack-path "golang.org/x/net"))
+      (synopsis "Go supplementary network libraries")
+      (description "Go supplementary network libraries")
+      (home-page "https://go.googlesource.com/net/")
+      (license bsd-3))))
+
+(define-public golang-org-x-net-internal-netreflect
+  (let ((commit "749a502dd1eaf3e5bfd4f8956748c502357c0bbe"))
+    (package
+      (name "golang-org-x-net-internal-netreflect")
+      (version (string-append "20160912." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/net")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-net-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "18z4iqprpaf6264cac9g3jp8qdx4i4p0w724rqgglx8dfj78dx9v"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/x/net/internal/netreflect"
+         #:unpack-path "golang.org/x/net"))
+      (synopsis "Go supplementary network libraries")
+      (description "Go supplementary network libraries")
+      (home-page "https://go.googlesource.com/net")
+      (license bsd-3))))
+
+(define-public golang-org-x-net-ipv6
+  (let ((commit "749a502dd1eaf3e5bfd4f8956748c502357c0bbe"))
+    (package
+      (name "golang-org-x-net-ipv6")
+      (version (string-append "20160912." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/net")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-net-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "18z4iqprpaf6264cac9g3jp8qdx4i4p0w724rqgglx8dfj78dx9v"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/x/net/ipv6"
+         #:unpack-path "golang.org/x/net"))
+      (synopsis "Go supplementary network libraries")
+      (description "Go supplementary network libraries")
+      (home-page "https://go.googlesource.com/net")
+      (license bsd-3))))
+
+(define-public golang-org-x-net-proxy
+  (let ((commit "749a502dd1eaf3e5bfd4f8956748c502357c0bbe"))
+    (package
+      (name "golang-org-x-net-proxy")
+      (version (string-append "20160912." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/net")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-net-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "18z4iqprpaf6264cac9g3jp8qdx4i4p0w724rqgglx8dfj78dx9v"))))
+      (build-system go-build-system)
+      (inputs
+       `(("golang.org/x/net/internal/iana" ,golang-org-x-net-internal-iana)
+         ("golang.org/x/net/internal/netreflect" ,golang-org-x-net-internal-netreflect)))
+      (arguments
+       `(#:import-path "golang.org/x/net/internal/proxy"
+         #:unpack-path "golang.org/x/net"))
+      (synopsis "Go supplementary network libraries")
+      (description "Go supplementary network libraries")
+      (home-page "https://go.googlesource.com/net")
+      (license bsd-3))))
+
+(define-public golang-org-x-net-route
+  (let ((commit "749a502dd1eaf3e5bfd4f8956748c502357c0bbe"))
+    (package
+      (name "golang-org-x-net-route")
+      (version (string-append "20160912." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/net")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-net-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "18z4iqprpaf6264cac9g3jp8qdx4i4p0w724rqgglx8dfj78dx9v"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/x/net/route"
+         #:unpack-path "golang.org/x/net"))
+      (synopsis "Go supplementary network libraries")
+      (description "Go supplementary network libraries")
+      (home-page "https://go.googlesource.com/net")
+      (license bsd-3))))
+
+(define-public golang-org-x-sys-unix
+  (let ((commit "a408501be4d17ee978c04a618e7a1b22af058c0e"))
+    (package
+      (name "golang-org-x-sys-unix")
+      (version (string-append "20160704." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/sys")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-sys-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "1nwvs594wrzwk1bnhdsna6n8665vzlzms171sw0mkmfb713phl8q"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/x/sys/unix"
+         #:unpack-path "golang.org/x/sys"))
+      (synopsis "Go packages for low-level interaction with the operating system")
+      (description "Go packages for low-level interaction with the operating system")
+      (home-page "https://go.googlesource.com/sys")
+      (license bsd-3))))
+
+(define-public golang-org-x-text-transform
+  (let ((commit "a71fd10341b064c10f4a81ceac72bcf70f26ea34"))
+    (package
+      (name "golang-org-x-text-transform")
+      (version (string-append "20160215." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/text")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-text-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "1igxqrgnnb6983fl0yck0xal2hwnkcgbslr7cxyrg7a65vawd0q1"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/x/text/transform"
+         #:unpack-path "golang.org/x/text"))
+      (synopsis "Go text processing support")
+      (description "Go text processing support")
+      (home-page "https://go.googlesource.com/text")
+      (license bsd-3))))
+
+(define-public golang-org-x-text-unicode-norm
+  (let ((commit "a71fd10341b064c10f4a81ceac72bcf70f26ea34"))
+    (package
+      (name "golang-org-x-text-unicode-norm")
+      (version (string-append "20160215." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/text")
+                      (commit commit)))
+                (file-name (string-append "go.googlesource.com-text-"
+                                          version "-checkout"))
+                (sha256
+                 (base32 "1igxqrgnnb6983fl0yck0xal2hwnkcgbslr7cxyrg7a65vawd0q1"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/x/text/unicode/norm"
+         #:unpack-path "golang.org/x/text"))
+      (synopsis "Go text processing support")
+      (description "Go text processing support")
+      (home-page "https://go.googlesource.com/text")
+      (license bsd-3))))
-- 
2.10.1