gnu: linux-libre@4.9: Update to 4.9.208.
[jackhill/guix/guix.git] / gnu / packages / syncthing.scm
index 0df4e09..8b41a63 100644 (file)
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Petter <petter@mykolab.ch>
-;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,7 +30,7 @@
 (define-public syncthing
   (package
     (name "syncthing")
-    (version "1.0.0")
+    (version "1.2.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/syncthing/syncthing"
                                   "/syncthing-source-v" version ".tar.gz"))
               (sha256
                (base32
-                "0992nsdiw374pbh1dywg7c2jijzy4xmsv0b7q5p76xn2yyg5yhr7"))
-              ;; Since the update to Go 1.11, Go programs have been keeping
-              ;; spurious references to all their dependencies:
-              ;; <https://bugs.gnu.org/33620>.
-              ;; For Syncthing, this increases the size of the 'out' closure
-              ;; from 87.6 MiB to 253.5 MiB.  So, we use the bundled
-              ;; dependencies until the bug is resolved.
-;              (modules '((guix build utils)))
-;              ;; Delete bundled ("vendored") free software source code.
-;              (snippet '(begin
-;                          (delete-file-recursively "vendor")
-;                          #t))
-              ))
+                "1wdjh8xw09s1nfkpc95v04619gqa4dpbygp2y5l35ww4g916lv3s"))
+              (modules '((guix build utils)))
+              ;; Delete bundled ("vendored") free software source code.
+              (snippet '(begin
+                          (delete-file-recursively "vendor")
+                          #t))))
     (build-system go-build-system)
     ;; The primary Syncthing executable goes to "out", while the auxiliary
     ;; server programs and utility tools go to "utils".  This reduces the size
     ;; of "out" by ~80 MiB.
     (outputs '("out" "utils"))
+    ;; When updating Syncthing, check 'go.mod' in the source distribution to
+    ;; ensure we are using the correct versions of these dependencies.
+    (inputs
+     `(("go-github-com-audriusbutkevicius-go-nat-pmp"
+        ,go-github-com-audriusbutkevicius-go-nat-pmp)
+       ("go-github-com-bkaradzic-go-lz4" ,go-github-com-bkaradzic-go-lz4)
+       ("go-github-com-calmh-xdr" ,go-github-com-calmh-xdr)
+       ("go-github-com-chmduquesne-rollinghash"
+        ,go-github-com-chmduquesne-rollinghash)
+       ("go-github-com-gobwas-glob" ,go-github-com-gobwas-glob)
+       ("go-github-com-golang-groupcache-lru"
+        ,go-github-com-golang-groupcache-lru)
+       ("go-github-com-jackpal-gateway" ,go-github-com-jackpal-gateway)
+       ("go-github-com-kballard-go-shellquote"
+        ,go-github-com-kballard-go-shellquote)
+       ("go-github-com-lib-pq" ,go-github-com-lib-pq)
+       ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
+       ("go-github-com-oschwald-geoip2-golang"
+        ,go-github-com-oschwald-geoip2-golang)
+       ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
+       ("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics)
+       ("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
+       ("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
+       ("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
+       ("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
+       ("go-golang-org-x-time" ,go-golang-org-x-time)
+       ("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
+       ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
+       ("go-github-com-shirou-gopsutil" ,go-github-com-shirou-gopsutil)
+       ("go-github-com-prometheus-client-golang"
+        ,go-github-com-prometheus-client-golang)
+       ("go-golang-org-x-net" ,go-golang-org-x-net)
+       ("go-golang-org-x-text" ,go-golang-org-x-text)
+       ("go-github-com-audriusbutkevicius-recli"
+        ,go-github-com-audriusbutkevicius-recli)
+       ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
+       ("go-github-com-vitrun-qart" ,go-github-com-vitrun-qart)
+       ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
+       ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+       ("go-github-com-flynn-archive-go-shlex"
+        ,go-github-com-flynn-archive-go-shlex)
+       ("go-github-com-getsentry-raven-go" ,go-github-com-getsentry-raven-go)
+       ("go-github-com-maruel-panicparse" ,go-github-com-maruel-panicparse)
+       ("go-github-com-ccding-go-stun" ,go-github-com-ccding-go-stun)
+       ("go-github-com-audriusbutkevicius-pfilter" ,go-github-com-audriusbutkevicius-pfilter)
+       ("go-github-com-lucas-clemente-quic-go" ,go-github-com-lucas-clemente-quic-go)
+
+       ;; For tests
+       ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff)))
+
     (arguments
      `(#:import-path "github.com/syncthing/syncthing"
-       #:unpack-path "github.com/syncthing"
        ;; We don't need to install the source code for end-user applications.
        #:install-source? #f
        #:phases
@@ -139,12 +181,39 @@ Protocol.")
       (arguments
        `(#:import-path "github.com/AudriusButkevicius/go-nat-pmp"))
       (synopsis "Port mapping and discovery of external IP address")
-      (description "This packages provides a Go client for the NAT-PMP internet
+      (description "This package provides a 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 go-github-com-audriusbutkevicius-recli
+  (package
+    (name "go-github-com-audriusbutkevicius-recli")
+    (version "0.0.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/AudriusButkevicius/recli")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1m1xna1kb78pkmr1lfmvvnpk9j7c4x71j3a7c6vj7zpzc4srpsmf"))))
+    (build-system go-build-system)
+    (inputs
+     `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
+       ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)))
+    (arguments
+     `(#:import-path "github.com/AudriusButkevicius/recli"))
+    (synopsis "Reflection-based CLI generator")
+    (description "For a given struct, @code{recli} builds a set of
+@code{urfave/cli} commands which allows you to modify it from the command line.
+It is useful for generating command line clients for your application
+configuration that is stored in a Go struct.")
+    (home-page "https://github.com/AudriusButkevicius/recli")
+    (license mpl2.0)))
+
 (define-public go-github-com-bkaradzic-go-lz4
   (let ((commit "7224d8d8f27ef618c0a95f1ae69dbb0488abc33a")
         (revision "0"))
@@ -192,53 +261,49 @@ information, such as how much storage space is available, free, and used.")
     (license public-domain)))
 
 (define-public go-github-com-calmh-xdr
-  (let ((commit "08e072f9cb164f943a92eb59f90f3abc64ac6e8f")
-        (revision "0"))
-    (package
-      (name "go-github-com-calmh-xdr")
-      (version (git-version "2.0.1" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/calmh/xdr")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "072wqdncz3nd4a3zkhvzzx1y3in1lm29wfvl0d8wrnqs5pyqh0mh"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "github.com/calmh/xdr"))
-      (synopsis "XDR marshalling and unmarshalling")
-      (description "XDR is an External Data Representation (XDR)
+  (package
+    (name "go-github-com-calmh-xdr")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/calmh/xdr")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "072wqdncz3nd4a3zkhvzzx1y3in1lm29wfvl0d8wrnqs5pyqh0mh"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/calmh/xdr"))
+    (synopsis "XDR marshalling and unmarshalling")
+    (description "XDR is an External Data Representation (XDR)
 marshalling and unmarshalling library in Go.  It uses code generation and not
 reflection.")
-      (home-page "https://github.com/calmh/xdr")
-      (license expat))))
+    (home-page "https://github.com/calmh/xdr")
+    (license expat)))
 
 (define-public go-github-com-d4l3k-messagediff
-  (let ((commit "29f32d820d112dbd66e58492a6ffb7cc3106312b")
-        (revision "0"))
-    (package
-      (name "go-github-com-d4l3k-messagediff")
-      (version (git-version "1.1.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/d4l3k/messagediff")
-                       (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "104hl8x57ciaz7mzafg1vp9qggxcyfm8hsv9bmlihbz9ml3nyr8v"))))
-      (build-system go-build-system)
-      (arguments
-        `(#:import-path "github.com/d4l3k/messagediff"))
-      (synopsis "Diff arbitrary Go structs")
-      (description "Messagediff is a library for calculating diffs of arbitrary
+  (package
+    (name "go-github-com-d4l3k-messagediff")
+    (version "1.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/d4l3k/messagediff")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "104hl8x57ciaz7mzafg1vp9qggxcyfm8hsv9bmlihbz9ml3nyr8v"))))
+    (build-system go-build-system)
+    (arguments
+      `(#:import-path "github.com/d4l3k/messagediff"))
+    (synopsis "Diff arbitrary Go structs")
+    (description "Messagediff is a library for calculating diffs of arbitrary
 structs in the Go programming language.")
-      (home-page "https://github.com/d4l3k/messagediff")
-      (license expat))))
+    (home-page "https://github.com/d4l3k/messagediff")
+    (license expat)))
 
 (define-public go-github-com-gobwas-glob
   (let ((commit "51eb1ee00b6d931c66d229ceeb7c31b985563420")
@@ -259,7 +324,7 @@ structs in the Go programming language.")
       (arguments
         `(#:import-path "github.com/gobwas/glob"))
       (synopsis "Go globbing library")
-      (description "This packages provides a Go implementation of globs.")
+      (description "This package provides a Go implementation of globs.")
       (home-page "https://github.com/gobwas/glob")
       (license expat))))
 
@@ -340,61 +405,34 @@ address of the default LAN gateway.")
       (license bsd-3))))
 
 (define-public go-github-com-lib-pq
-  (let ((commit "83612a56d3dd153a94a629cd64925371c9adad78")
-        (revision "1"))
-    (package
-      (name "go-github-com-lib-pq")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/lib/pq")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "12334yigh284k5cdvb9pgxaq6n78205jcbp75ajz44vvfd4wi6qc"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "github.com/lib/pq"
-         ;; The tests seem to fail without access to the network or a running
-         ;; Postgres instance.
-         #:tests? #f))
-      (synopsis "Golang Postgres driver for Go's database/sql")
-      (description "This packages provides a pure Go Postgres driver for Go's
+  (package
+    (name "go-github-com-lib-pq")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/lib/pq")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "08j1smm6rassdssdks4yh9aspa1dv1g5nvwimmknspvhx8a7waqz"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/lib/pq"
+       ;; The tests seem to fail without access to the network or a running
+       ;; Postgres instance.
+       #:tests? #f))
+    (synopsis "Golang Postgres driver for Go's database/sql")
+    (description "This package provides a pure Go Postgres driver for Go's
 database/sql package.")
-      (home-page "https://github.com/lib/pq")
-      (license expat))))
-
-(define-public go-github-com-minio-sha256-simd
-  (let ((commit "ad98a36ba0da87206e3378c556abbfeaeaa98668")
-        (revision "1"))
-    (package
-      (name "go-github-com-minio-sha256-simd")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/minio/sha256-simd")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0yfnqn3kqdnlfm54yvc4fr5vpdmwdi2kw571nlkbpmy8ldhsqqfi"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "github.com/minio/sha256-simd"))
-      (synopsis "Hardware-accelerated SHA256 in Go using SIMD")
-      (description "This packages provides a pure Go implementation of SHA256
-using SIMD (Single instruction, multiple data) instructions for Intel and ARM
-architectures.")
-      (home-page "https://github.com/minio/sha256-simd")
-      (license asl2.0))))
+    (home-page "https://github.com/lib/pq")
+    (license expat)))
 
 (define-public go-github-com-oschwald-geoip2-golang
   (package
     (name "go-github-com-oschwald-geoip2-golang")
-    (version "1.1.0")
+    (version "1.3.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -403,17 +441,17 @@ architectures.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0v698bzs8lb59cqpsa9cf4sl8rdsvnnmaravhbfn6g6i511ppclr"))))
+                "0jivzl15jb8n16rm1b2w97kf7vna5dd3kcz865wfi233qay075j2"))))
     (build-system go-build-system)
     (propagated-inputs
      `(("go-github-com-oschwald-maxminddb-golang"
         ,go-github-com-oschwald-maxminddb-golang)
-       ("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
+       ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
     (arguments
      `(#:import-path "github.com/oschwald/geoip2-golang"
        #:tests? #f)) ; Requires some unpackaged software and test data
     (synopsis "MaxMind GeoIP2 reader")
-    (description "This packages provides a library for reading MaxMind
+    (description "This package provides a library for reading MaxMind
 GeoLite2 and GeoIP2 databases in Go.")
     (home-page "https://github.com/oschwald/geoip2-golang")
     (license isc)))
@@ -435,7 +473,7 @@ GeoLite2 and GeoIP2 databases in Go.")
                   "1i6d935f3cv9djpjvc2ibh8aps8jqvg454b9pkwg2h98al759ggk"))))
       (build-system go-build-system)
       (propagated-inputs
-       `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
+       `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
       (arguments
        `(#:import-path "github.com/oschwald/maxminddb-golang"
          #:tests? #f)) ; Requires some unpackaged software and test data
@@ -496,37 +534,35 @@ Metrics library.")
       (license bsd-2))))
 
 (define-public go-github-com-sasha-s-go-deadlock
-  (let ((commit "03d40e5dbd5488667a13b3c2600b2f7c2886f02f")
-        (revision "1"))
-    (package
-      (name "go-github-com-sasha-s-go-deadlock")
-      (version (git-version "0.1.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/sasha-s/go-deadlock")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "13p7b7pakd9k1c2k0fs1hfim3c8mivz679977ai6zb01s4aw7gyg"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "github.com/sasha-s/go-deadlock"))
-      (propagated-inputs
-       `(("go-github-com-petermattis-goid" ,go-github-com-petermattis-goid)))
-      (synopsis "Deadlock detection in go")
-      (description "This package provides tools for detecting deadlocks at
+  (package
+    (name "go-github-com-sasha-s-go-deadlock")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/sasha-s/go-deadlock")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "13p7b7pakd9k1c2k0fs1hfim3c8mivz679977ai6zb01s4aw7gyg"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/sasha-s/go-deadlock"))
+    (propagated-inputs
+     `(("go-github-com-petermattis-goid" ,go-github-com-petermattis-goid)))
+    (synopsis "Deadlock detection in go")
+    (description "This package provides tools for detecting deadlocks at
 run-time in Go.")
-      (home-page "https://github.com/sasha-s/go-deadlock")
-      (license asl2.0))))
+    (home-page "https://github.com/sasha-s/go-deadlock")
+    (license asl2.0)))
 
 (define-public go-github-com-syndtr-goleveldb
-  (let ((commit "34011bf325bce385408353a30b101fe5e923eb6e")
-        (revision "2"))
+  (let ((commit "c3a204f8e96543bb0cc090385c001078f184fc46")
+        (revision "3"))
     (package
       (name "go-github-com-syndtr-goleveldb")
-      (version (git-version "0.0.0" revision commit))
+      (version (git-version "1.0.1" revision commit))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -535,7 +571,7 @@ run-time in Go.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "097ja0vyj6p27zrxha9nhk09fj977xsvhmd3bk2hbyvnbw4znnhd"))))
+                  "18cac90dim2z5g28vazzibxa058q2ynihsmf0vbscwzba6l5s5ms"))))
       (build-system go-build-system)
       (propagated-inputs
        `(("go-github-com-golang-snappy" ,go-github-com-golang-snappy)))
@@ -550,25 +586,23 @@ database in Go.")
       (license bsd-2))))
 
 (define-public go-github-com-thejerf-suture
-  (let ((commit "bf6ee6a0b047ebbe9ae07d847f750dd18c6a9276")
-        (revision "0"))
-    (package
-      (name "go-github-com-thejerf-suture")
-      (version (git-version "3.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/thejerf/suture")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0rzx9k408vaglwnnpgpcs6y7ff7p65915nbg33rvbaz13hxwkz3y"))))
-      (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.
+  (package
+    (name "go-github-com-thejerf-suture")
+    (version "3.0.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/thejerf/suture")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "03bdrl78jfwk0kw40lj63ga9cxhgccgss8yi9lp5j0m0ml7921gh"))))
+    (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.
 
@@ -577,41 +611,14 @@ 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 expat))))
-
-(define* (go-github-com-vitrun-qart-union
-           #:optional (packages (list go-github-com-vitrun-qart-coding
-                                      go-github-com-vitrun-qart-gf256
-                                      go-github-com-vitrun-qart-qr)))
-  (package
-    (name "go-github-com-vitrun-qart")
-    (version (package-version go-github-com-vitrun-qart-qr))
-    (source #f)
-    (build-system trivial-build-system)
-    (arguments
-     '(#:modules ((guix build union))
-       #:builder (begin
-                   (use-modules (ice-9 match)
-                                (guix build union))
-                   (match %build-inputs
-                     (((names . directories) ...)
-                      (union-build (assoc-ref %outputs "out")
-                                   directories)
-                      #t)))))
-    (inputs (map (lambda (package)
-                   (list (package-name package) package))
-                 packages))
-    (synopsis "Union of qart libraries")
-    (description "This is a union of qart libraries.")
-    (home-page (package-home-page go-github-com-vitrun-qart-qr))
-    (license (package-license go-github-com-vitrun-qart-qr))))
+    (home-page "https://github.com/thejerf/suture")
+    (license expat)))
 
-(define-public go-github-com-vitrun-qart-coding
+(define-public go-github-com-vitrun-qart
   (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
         (revision "0"))
     (package
-      (name "go-github-com-vitrun-qart-coding")
+      (name "go-github-com-vitrun-qart")
       (version (git-version "0.0.0" revision commit))
       (source (origin
                 (method git-fetch)
@@ -625,160 +632,22 @@ environment")
                   "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
       (build-system go-build-system)
       (arguments
-       `(#:import-path "github.com/vitrun/qart/coding"
-         #:unpack-path "github.com/vitrun/qart"))
-      (synopsis "Low-level QR coding library")
+       `(#:import-path "github.com/vitrun/qart"))
+      (synopsis "Create QR codes with an embedded image")
       (description "This package provides a library for embedding
 human-meaningful graphics in QR codes.  However, instead of scribbling on
 redundant pieces and relying on error correction to preserve the meaning,
 @code{qart} engineers the encoded values to create the picture in a code with no
-inherent errors.  This @code{qart} component, @code{coding}, implements
-low-level QR coding details.")
-      (home-page "https://github.com/vitrun/qart/")
-      (license bsd-3))))
-
-(define-public go-github-com-vitrun-qart-gf256
-  (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
-        (revision "0"))
-    (package
-      (name "go-github-com-vitrun-qart-gf256")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/vitrun/qart")
-                      (commit commit)))
-                (file-name (string-append "go-github-com-vitrun-qart-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "github.com/vitrun/qart/gf256"
-         #:unpack-path "github.com/vitrun/qart"))
-      (synopsis "Qart library for Galois Field GF(256) math")
-      (description "This package, a component of @code{qart}, provides @code{gf256},
-implements arithmetic over the Galois Field GF(256).")
+inherent errors.")
       (home-page "https://github.com/vitrun/qart")
       (license bsd-3))))
 
-(define-public go-github-com-vitrun-qart-qr
-  (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
+(define-public go-github-com-chmduquesne-rollinghash
+  (let ((commit "a60f8e7142b536ea61bb5d84014171189eeaaa81")
         (revision "0"))
     (package
-      (name "go-github-com-vitrun-qart-qr")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/vitrun/qart")
-                      (commit commit)))
-                (file-name (string-append "go-github-com-vitrun-qart-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "github.com/vitrun/qart/qr"
-         #:unpack-path "github.com/vitrun/qart"))
-      (synopsis "Qart component for generating QR codes")
-      (description "This package provides a library for embedding
-human-meaningful graphics in QR codes.  However, instead of scribbling on
-redundant pieces and relying on error correction to preserve the meaning,
-@code{qart} engineers the encoded values to create the picture in a code with no
-inherent errors.  This @code{qart} component, @code{qr}, provides QR code
-generation.")
-      (home-page "https://github.com/vitrun/qart")
-      (license bsd-3))))
-
-(define* (go-golang-org-x-net-union #:optional
-                                 (packages (list go-golang-org-x-net-ipv4
-                                                 go-golang-org-x-net-bpf
-                                                 go-golang-org-x-net-ipv6
-                                                 go-golang-org-x-net-proxy
-                                                 go-golang-org-x-net-internal-iana)))
-  (package
-    (name "go-golang-org-x-net")
-    (version (package-version go-golang-org-x-net-ipv4))
-    (source #f)
-    (build-system trivial-build-system)
-    (arguments
-     '(#:modules ((guix build union))
-       #:builder (begin
-                   (use-modules (ice-9 match)
-                                (guix build union))
-                   (match %build-inputs
-                     (((names . directories) ...)
-                      (union-build (assoc-ref %outputs "out")
-                                   directories)
-                      #t)))))
-    (inputs (map (lambda (package)
-                   (list (package-name package) package))
-                 packages))
-    (synopsis "Union of the Go net libraries")
-    (description "A union of the Golang net libraries.")
-    (home-page (package-home-page go-golang-org-x-net-ipv4))
-    (license (package-license go-golang-org-x-net-ipv4))))
-
-(define* (go-golang-org-x-text-union #:optional
-                                  (packages (list go-golang-org-x-text-transform
-                                                  go-golang-org-x-text-unicode-norm)))
-  (package
-    (name "go-golang-org-x-text")
-    (version (package-version go-golang-org-x-text-transform))
-    (source #f)
-    (build-system trivial-build-system)
-    (arguments
-     '(#:modules ((guix build union))
-       #:builder (begin
-                   (use-modules (ice-9 match)
-                                (guix build union))
-                   (match %build-inputs
-                     (((names . directories) ...)
-                      (union-build (assoc-ref %outputs "out")
-                                   directories)
-                      #t)))))
-    (inputs (map (lambda (package)
-                   (list (package-name package) package))
-                 packages))
-    (synopsis "Union of the Go text libraries")
-    (description "A union of the Golang text libraries.")
-    (home-page (package-home-page go-golang-org-x-text-transform))
-    (license (package-license go-golang-org-x-text-transform))))
-
-(define-public go-github-com-audriusbutkevicius-pfilter
-  (let ((commit "9dca34a5b530bfc9843fa8aa2ff08ff9821032cb")
-        (revision "2"))
-    (package
-      (name "go-github-com-audriusbutkevicius-pfilter")
-      (version (git-version "0.0.0" revision commit))
-      (source
-        (origin
-          (method git-fetch)
-          (uri (git-reference
-                 (url "https://github.com/AudriusButkevicius/pfilter.git")
-                 (commit commit)))
-          (file-name (git-file-name name version))
-          (sha256
-           (base32
-            "0i4qbnwba49db27fb1y792gcvhb0m744i9q4zgwjbypqmy3bj2a5"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/AudriusButkevicius/pfilter"))
-      (synopsis "Filter packets into mulitple virtual connections")
-      (description "Pfilter is a Go package for filtering packets into multiple
-virtual connections from a single physical connection.")
-      (home-page "https://github.com/AudriusButkevicius/pfilter")
-      (license expat))))
-
-(define-public go-github-com-chmduquesne-rollinghash-adler32
-  (let ((commit "abb8cbaf9915e48ee20cae94bcd94221b61707a2")
-        (revision "2"))
-    (package
-      (name "go-github-com-chmduquesne-rollinghash-adler32")
-      (version (git-version "0.0.0" revision commit))
+      (name "go-github-com-chmduquesne-rollinghash")
+      (version (git-version "4.0.0" revision commit))
       (source
         (origin
           (method git-fetch)
@@ -788,41 +657,16 @@ virtual connections from a single physical connection.")
           (file-name (git-file-name name version))
           (sha256
            (base32
-            "0ylqb9r60q77qw0d6g9cg4yzadxzwcw74lfd25cw9yglyq0wgd3l"))))
+            "0fpaqq4zb0wikgbhn7vwqqj1h865f5xy195vkhivsp922p7qwsjr"))))
       (build-system go-build-system)
       (arguments
-       '(#:import-path "github.com/chmduquesne/rollinghash/adler32"
-         #:unpack-path "github.com/chmduquesne/rollinghash"))
-      (synopsis "Adler-32 rolling hash in Go")
-      (description "This package provides a Go implementation of the Adler-32
-rolling hash.")
+       '(#:import-path "github.com/chmduquesne/rollinghash/"))
+      (synopsis "Rolling hashes in Go")
+      (description "This package provides a Go implementation of several rolling
+hashes.")
       (home-page "https://github.com/chmduquesne/rollinghash")
       (license expat))))
 
-(define-public go-github-com-pkg-errors
-  (let ((commit "e881fd58d78e04cf6d0de1217f8707c8cc2249bc")
-        (revision "1"))
-    (package
-      (name "go-github-com-pkg-errors")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/pkg/errors.git")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0vfhj598jp6dzy4pbyjdrqxzb5kppw8ggvfh78g80nz11r34xnzs"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "github.com/pkg/errors"))
-      (synopsis "Go error handling primitives")
-      (description "This packages provides @code{error}, which offers simple
-error handling primitives in Go.")
-      (home-page "https://github.com/pkg/errors")
-      (license bsd-2))))
-
 (define-public go-github-com-petermattis-goid
   (let ((commit "3db12ebb2a599ba4a96bea1c17b61c2f78a40e02")
         (revision "0"))
@@ -843,44 +687,11 @@ error handling primitives in Go.")
       (arguments
        '(#:import-path "github.com/petermattis/goid"))
       (synopsis "Identify the running goroutine")
-      (description "This package offers a method of programatically retrieving
+      (description "This package offers a method of programmatically retrieving
 the current goroutine's ID.")
       (home-page "https://github.com/petermattis/goid")
       (license asl2.0))))
 
-(define-public go-github-com-audriusbutkevicius-cli
-  (let ((commit "7f561c78b5a4aad858d9fd550c92b5da6d55efbb")
-        (revision "0"))
-    (package
-      (name "go-github-com-audriusbutkevicius-cli")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/AudriusButkevicius/cli.git")
-                       (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0bg26pfg25vr16jmczig2m493mja2nxjxyswz3hha7avxw20rpi5"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/AudriusButkevicius/cli"
-         ;; Tests don't pass "vet" on go-1.11.  See
-         ;; https://github.com/AudriusButkevicius/cli/pull/1.
-         #:phases
-         (modify-phases %standard-phases
-           (replace 'check
-             (lambda* (#:key import-path #:allow-other-keys)
-               (invoke "go" "test"
-                       "-vet=off"
-                       import-path))))))
-      (synopsis "Library for building command-line interfaces in Go")
-      (description "This package provides a library for building command-line
-interfaces in Go.")
-      (home-page "https://github.com/AudriusButkevicius/cli")
-      (license expat))))
-
 (define-public go-github-com-kballard-go-shellquote
   (let ((commit "cd60e84ee657ff3dc51de0b4f55dd299a3e136f2")
         (revision "0"))
@@ -906,8 +717,8 @@ using sh's word-splitting rules.")
       (license expat))))
 
 (define-public go-github-com-syncthing-notify
-  (let ((commit "116c45bb5ad48777321e4984d1320d56889b6097")
-        (revision "3"))
+  (let ((commit "69c7a957d3e261f9744f46b3dd4d608d8480ad90")
+        (revision "5"))
     (package
       (name "go-github-com-syncthing-notify")
       (version (git-version "0.0.0" revision commit))
@@ -919,12 +730,12 @@ using sh's word-splitting rules.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "14bh95pkhwmnc65bnv08p3y4flj1j7f6xxr2cgmlwrphnlp9yhl9"))))
+                  "1mmdzyfnmjabyhbipl4bggw4w5nlxyyjp0d93qd824kj07kmsr1f"))))
       (build-system go-build-system)
       (arguments
        '(#:import-path "github.com/syncthing/notify"))
       (propagated-inputs
-       `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
+       `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
       (synopsis "File system event notification library")
       (description "This package provides @code{notify}, a file system event
 notification library in Go.")
@@ -958,20 +769,18 @@ bounds.")
       (license expat))))
 
 (define-public go-github-com-golang-protobuf-proto
-  (let ((commit "1e59b77b52bf8e4b449a57e6f79f21226d571845")
-        (revision "0"))
     (package
       (name "go-github-com-golang-protobuf-proto")
-      (version (git-version "0.0.0" revision commit))
+      (version "1.3.1")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
                        (url "https://github.com/golang/protobuf.git")
-                       (commit commit)))
+                       (commit (string-append "v" version))))
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "19bkh81wnp6njg3931wky6hsnnl2d1ig20vfjxpv450sd3k6yys8"))))
+                  "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl"))))
       (build-system go-build-system)
       (arguments
        '(#:import-path "github.com/golang/protobuf/proto"
@@ -982,13 +791,13 @@ bounds.")
       (description "This package provides Go support for the Protocol Buffers
 data serialization format.")
       (home-page "https://github.com/golang/protobuf")
-      (license bsd-3))))
+      (license bsd-3)))
 
-(define-public go-github-com-prometheus-client-model-go
-  (let ((commit "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c")
-        (revision "0"))
+(define-public go-github-com-prometheus-client-model
+  (let ((commit "fd36f4220a901265f90734c3183c5f0c91daa0b8")
+        (revision "1"))
     (package
-      (name "go-github-com-prometheus-client-model-go")
+      (name "go-github-com-prometheus-client-model")
       (version (git-version "0.0.2" revision commit))
       (source (origin
                 (method git-fetch)
@@ -998,11 +807,15 @@ data serialization format.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998"))))
+                  "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5"))))
       (build-system go-build-system)
       (arguments
-       '(#:import-path "github.com/prometheus/client_model/go"
-         #:unpack-path "github.com/prometheus/client_model"))
+       '(#:import-path "github.com/prometheus/client_model"
+         #:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           ;; Source-only package
+           (delete 'build))))
       (propagated-inputs
        `(("go-github-com-golang-protobuf-proto"
           ,go-github-com-golang-protobuf-proto)))
@@ -1042,25 +855,23 @@ message streaming.")
       (home-page "https://github.com/matttproud/golang_protobuf_extensions")
       (license asl2.0))))
 
-(define-public go-github-com-prometheus-common-expfmt
-  (let ((commit "2e54d0b93cba2fd133edc32211dcc32c06ef72ca")
-        (revision "0"))
+(define-public go-github-com-prometheus-common
     (package
-      (name "go-github-com-prometheus-common-expfmt")
-      (version (git-version "0.0.0" revision commit))
+      (name "go-github-com-prometheus-common")
+      (version "0.4.1")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
                        (url "https://github.com/prometheus/common.git")
-                       (commit commit)))
+                       (commit (string-append "v" version))))
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "14kn5w7imcxxlfdqxl21fsnlf1ms7200g3ldy29hwamldv8qlm7j"))))
+                  "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
       (build-system go-build-system)
       (arguments
-       '(#:import-path "github.com/prometheus/common/expfmt"
-         #:unpack-path "github.com/prometheus/common"
+       '(#:import-path "github.com/prometheus/common"
+         #:tests? #f
          #:phases
          (modify-phases %standard-phases
            (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
@@ -1072,151 +883,82 @@ message streaming.")
                                      "/src/github.com/prometheus/common/expfmt/testdata/")
                       ".*\\.gz$"))
                #t))
-           (replace 'check
-             ;; Tests don't pass "vet" on go-1.11.  See
-             ;; https://github.com/syncthing/syncthing/issues/5311.
-             (lambda* (#:key import-path #:allow-other-keys)
-               (invoke "go" "test"
-                       "-vet=off"
-                       import-path))))))
+           ;; Source-only package
+           (delete 'build))))
       (propagated-inputs
        `(("go-github-com-golang-protobuf-proto"
           ,go-github-com-golang-protobuf-proto)
          ("go-github-com-matttproud-golang-protobuf-extensions-pbutil"
           ,go-github-com-matttproud-golang-protobuf-extensions-pbutil)
-         ("go-github-com-prometheus-client-model-go"
-          ,go-github-com-prometheus-client-model-go)))
+         ("go-github-com-prometheus-client-model"
+          ,go-github-com-prometheus-client-model)))
       (synopsis "Prometheus metrics")
       (description "This package provides tools for reading and writing
 Prometheus metrics.")
       (home-page "https://github.com/prometheus/common")
-      (license asl2.0))))
+      (license asl2.0)))
 
 (define-public go-github-com-prometheus-procfs
-  (let ((commit "b15cd069a83443be3154b719d0cc9fe8117f09fb")
-        (revision "0"))
     (package
       (name "go-github-com-prometheus-procfs")
-      (version (git-version "0.0.0" revision commit))
+      (version "0.0.3")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
                        (url "https://github.com/prometheus/procfs.git")
-                       (commit commit)))
+                       (commit (string-append "v" version))))
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1cr45wg2m40bj2za8f32mq09rjlcnk5kfam0h0hr8wcb015k4wxj"))))
+                  "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y"))))
       (build-system go-build-system)
       (arguments
-       '(#:import-path "github.com/prometheus/procfs"))
+       '(#:import-path "github.com/prometheus/procfs"
+         ;; The tests require Go modules, which are not yet supported in Guix's
+         ;; Go build system.
+         #:tests? #f))
       (synopsis "Go library for reading @file{/proc}")
       (description "The @code{procfs} Go package provides functions to retrieve
 system, kernel, and process metrics from the @file{/proc} pseudo file system.")
       (home-page "https://github.com/prometheus/procfs")
-      (license asl2.0))))
+      (license asl2.0)))
 
-(define-public go-github-com-client-golang-prometheus-promhttp
-  (let ((commit "180b8fdc22b4ea7750bcb43c925277654a1ea2f3")
-        (revision "0"))
+(define-public go-github-com-prometheus-client-golang
     (package
-      (name "go-github-com-client-golang-prometheus-promhttp")
-      (version (git-version "0.0.0" revision commit))
+      (name "go-github-com-prometheus-client-golang")
+      (version "0.9.4")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
                        (url "https://github.com/prometheus/client_golang.git")
-                       (commit commit)))
+                       (commit (string-append "v" version))))
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1kkfx1j9ka18ydsmdi2cdy3hs39c22b39mbc4laykmj2x93lmbdp"))))
+                  "0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p"))))
       (build-system go-build-system)
       (arguments
-       '(#:tests? #f ; The tests require internet access
-         #:import-path "github.com/prometheus/client_golang/prometheus/promhttp"
-         #:unpack-path "github.com/prometheus/client_golang"))
+       '(#:tests? #f
+         #:import-path "github.com/prometheus/client_golang"
+         #:phases
+         (modify-phases %standard-phases
+           ;; Source-only package
+           (delete 'build))))
       (propagated-inputs
        `(("go-github-com-beorn7-perks-quantile"
           ,go-github-com-beorn7-perks-quantile)
          ("go-github-com-golang-protobuf-proto"
           ,go-github-com-golang-protobuf-proto)
-         ("go-github-com-prometheus-client-model-go"
-          ,go-github-com-prometheus-client-model-go)
-         ("go-github-com-prometheus-common-expfmt"
-          ,go-github-com-prometheus-common-expfmt)
+         ("go-github-com-prometheus-client-model"
+          ,go-github-com-prometheus-client-model)
+         ("go-github-com-prometheus-common"
+          ,go-github-com-prometheus-common)
          ("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)))
       (synopsis "HTTP server and client tools for Prometheus")
       (description "This package @code{promhttp} provides HTTP client and
 server tools for Prometheus metrics.")
       (home-page "https://github.com/prometheus/client_golang")
-      (license asl2.0))))
-
-(define-public go-github-com-client-golang-prometheus
-  (let ((commit "7e9098b20fb8e103a7a5691878272d7e3d703663")
-        (revision "0"))
-    (package
-      (name "go-github-com-prometheus-client-golang-prometheus")
-      (version (git-version "0.9.1" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/prometheus/client_golang.git")
-                       (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "09q8hlvgyn58hn8fmmj535hrwhqc1215czwzf7fhaqpa9zamj4w1"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/prometheus/client_golang/prometheus"
-         #:unpack-path "github.com/prometheus/client_golang"
-         #:tests? #f)) ; 'TestHandler' test fails in this non-critical dependency
-      (propagated-inputs
-       `(("go-github-com-beorn7-perks-quantile"
-          ,go-github-com-beorn7-perks-quantile)
-         ("go-github-com-golang-protobuf-proto"
-          ,go-github-com-golang-protobuf-proto)
-         ("go-github-com-prometheus-client-model-go"
-          ,go-github-com-prometheus-client-model-go)
-         ("go-github-com-prometheus-common-expfmt"
-          ,go-github-com-prometheus-common-expfmt)
-         ("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)
-         ("go-github-com-client-golang-prometheus-promhttp"
-          ,go-github-com-client-golang-prometheus-promhttp)))
-      (synopsis "Prometheus instrumentation library for Go applications")
-      (description "This package provides the Go client library for the
-Prometheus monitoring and alerting system.  It has two separate parts, one for
-instrumenting application code, and one for creating clients that talk to the
-Prometheus HTTP API.")
-      (home-page "https://github.com/prometheus/client_golang")
-      (license asl2.0))))
-
-(define* (go-github-com-prometheus-union
-           #:optional (packages (list go-github-com-client-golang-prometheus
-                                      go-github-com-client-golang-prometheus-promhttp)))
-  (package
-    (name "go-github-com-prometheus-union")
-    (version (package-version go-github-com-client-golang-prometheus))
-    (source #f)
-    (build-system trivial-build-system)
-    (arguments
-     '(#:modules ((guix build union))
-       #:builder (begin
-                   (use-modules (ice-9 match)
-                                (guix build union))
-                   (match %build-inputs
-                     (((names . directories) ...)
-                      (union-build (assoc-ref %outputs "out")
-                                   directories)
-                      #t)))))
-    (inputs (map (lambda (package)
-                   (list (package-name package) package))
-                 packages))
-    (synopsis "Union of Go Prometheus libraries")
-    (description "This is a union of Go Prometheus libraries")
-    (home-page (package-home-page go-github-com-client-golang-prometheus))
-    (license (package-license go-github-com-client-golang-prometheus))))
+      (license asl2.0)))
 
 (define-public go-gopkg.in-asn1-ber.v1
   (package
@@ -1234,7 +976,7 @@ Prometheus HTTP API.")
     (build-system go-build-system)
     (arguments
      '(#:import-path "gopkg.in/asn1-ber.v1"
-       ;; Tests don't pass "vet" on go-1.11.  See
+       ;; Tests don't pass "vet" on Go since 1.11.  See
        ;; https://github.com/go-asn1-ber/asn1-ber/issues/20.
        #:phases
        (modify-phases %standard-phases
@@ -1273,3 +1015,77 @@ Go language.")
 language.")
     (home-page "https://gopkg.in/ldap.v2")
     (license expat)))
+
+(define-public go-github-com-flynn-archive-go-shlex
+  (let ((commit "3f9db97f856818214da2e1057f8ad84803971cff")
+        (revision "0"))
+    (package
+      (name "go-github-com-flynn-archive-go-shlex")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/flynn-archive/go-shlex.git")
+                       (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/flynn-archive/go-shlex"))
+      (synopsis "Go lexer")
+      (description "Shlex is a simple lexer for go that supports shell-style
+quoting, commenting, and escaping.")
+      (home-page "https://github.com/flynn-archive/go-shlex")
+      (license asl2.0))))
+
+(define-public go-github-com-audriusbutkevicius-pfilter
+  (let ((commit "c55ef6137fc6f075801eac099cc2687ede0f101d")
+        (revision "3"))
+    (package
+      (name "go-github-com-audriusbutkevicius-pfilter")
+      (version (git-version "0.0.0" revision commit))
+      (source
+        (origin
+          (method git-fetch)
+          (uri (git-reference
+                 (url "https://github.com/AudriusButkevicius/pfilter.git")
+                 (commit commit)))
+          (file-name (git-file-name name version))
+          (sha256
+           (base32
+            "0xzhwyd0w21bhvzl5pinn22hp0y6h44rh3s2ppql69rafc6zd3c6"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/AudriusButkevicius/pfilter"))
+      (synopsis "Filter packets into multiple virtual connections")
+      (description "Pfilter is a Go package for filtering packets into multiple
+virtual connections from a single physical connection.")
+      (home-page "https://github.com/AudriusButkevicius/pfilter")
+      (license expat))))
+
+(define-public go-github-com-ccding-go-stun
+  (let ((commit "be486d185f3dfcb2dbf8429332da50a0da7f95a6")
+        (revision "2"))
+    (package
+      (name "go-github-com-ccding-go-stun")
+      (version (git-version "0.0.0" revision commit))
+      (source
+        (origin
+          (method git-fetch)
+          (uri (git-reference
+                 (url "https://github.com/ccding/go-stun.git")
+                 (commit commit)))
+          (file-name (git-file-name name version))
+          (sha256
+           (base32
+            "1gr0rw1c1y7wh6913lyn5k4ig023by27i36bly6am8dwgrgp34ww"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/ccding/go-stun"))
+      (synopsis "STUN client implementation")
+      (description "Go-stun is a go implementation of the STUN client (RFC 3489
+and RFC 5389).")
+      (home-page "https://github.com/ccding/go-stun")
+      (license asl2.0))))