gnu: linux-libre@4.9: Update to 4.9.208.
[jackhill/guix/guix.git] / gnu / packages / syncthing.scm
index 708eae9..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.1.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
-                "1iks1a3149gj89yqmqa5iry2ik2sj9sjhlhc6nfh7xq4swqgsrb5"))
-              ;; 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,7 +181,7 @@ 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")
@@ -282,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))))
 
@@ -365,7 +407,7 @@ address of the default LAN gateway.")
 (define-public go-github-com-lib-pq
   (package
     (name "go-github-com-lib-pq")
-    (version "1.0.0")
+    (version "1.2.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -374,7 +416,7 @@ address of the default LAN gateway.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1zqnnyczaf00xi6xh53vq758v5bdlf0iz7kf22l02cal4i6px47i"))))
+                "08j1smm6rassdssdks4yh9aspa1dv1g5nvwimmknspvhx8a7waqz"))))
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/lib/pq"
@@ -382,7 +424,7 @@ address of the default LAN gateway.")
        ;; 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
+    (description "This package provides a pure Go Postgres driver for Go's
 database/sql package.")
     (home-page "https://github.com/lib/pq")
     (license expat)))
@@ -390,7 +432,7 @@ database/sql package.")
 (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
@@ -399,17 +441,17 @@ database/sql package.")
               (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)))
@@ -431,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
@@ -516,11 +558,11 @@ run-time in Go.")
     (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
@@ -529,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)))
@@ -572,11 +614,11 @@ environment")
     (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)
@@ -590,104 +632,21 @@ 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")
-        (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-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
+(define-public go-github-com-chmduquesne-rollinghash
   (let ((commit "a60f8e7142b536ea61bb5d84014171189eeaaa81")
         (revision "0"))
     (package
-      (name "go-github-com-chmduquesne-rollinghash-adler32")
+      (name "go-github-com-chmduquesne-rollinghash")
       (version (git-version "4.0.0" revision commit))
       (source
         (origin
@@ -701,36 +660,13 @@ virtual connections from a single physical connection.")
             "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
-  (package
-    (name "go-github-com-pkg-errors")
-    (version "0.8.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/pkg/errors.git")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1"))))
-    (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"))
@@ -751,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"))
@@ -814,8 +717,8 @@ using sh's word-splitting rules.")
       (license expat))))
 
 (define-public go-github-com-syncthing-notify
-  (let ((commit "4e389ea6c0d84e6195eb585ffaf62c8c143306ae")
-        (revision "4"))
+  (let ((commit "69c7a957d3e261f9744f46b3dd4d608d8480ad90")
+        (revision "5"))
     (package
       (name "go-github-com-syncthing-notify")
       (version (git-version "0.0.0" revision commit))
@@ -827,12 +730,12 @@ using sh's word-splitting rules.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "19gvl14s1l9m82f8c2xsjcr8lmbqrvw1mxkayvfcpimvxfz0j61i"))))
+                  "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.")
@@ -866,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"
@@ -890,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)
@@ -906,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)))
@@ -950,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
@@ -980,176 +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))))
-
-(define-public go-github-com-prometheus-common-model
-  (let ((commit "2e54d0b93cba2fd133edc32211dcc32c06ef72ca")
-        (revision "0"))
-    (package
-      (name "go-github-com-prometheus-common-model")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/prometheus/common.git")
-                       (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "14kn5w7imcxxlfdqxl21fsnlf1ms7200g3ldy29hwamldv8qlm7j"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/prometheus/common/model"
-         #:unpack-path "github.com/prometheus/common"))
-      (synopsis "Prometheus component")
-      (description "This package provides a component of the Go Prometheus
-implementation.")
-      (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
@@ -1167,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
@@ -1230,3 +1039,53 @@ language.")
 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))))