;;; 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.
;;;
(define-public syncthing
(package
(name "syncthing")
- (version "1.1.0")
+ (version "1.1.4")
(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))
- ))
+ "0pkb9vdb10lnlk6sgg6hxgkdjnvxx90cfdf8vgrc5sljzm5qhr6l"))
+ (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-du" ,go-github-com-calmh-du)
+ ("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-rate" ,go-golang-org-x-time-rate)
+ ("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
+ ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
+ ("go-github-com-gogo-protobuf-gogoproto"
+ ,go-github-com-gogo-protobuf-gogoproto)
+ ("go-github-com-gogo-protobuf-protoc-gen-gogo"
+ ,go-github-com-gogo-protobuf-protoc-gen-gogo)
+ ("go-github-com-prometheus-client-golang-prometheus"
+ ,go-github-com-prometheus-client-golang-prometheus)
+ ("go-golang-org-x-net-bpf" ,go-golang-org-x-net-bpf)
+ ("go-golang-org-x-net-internal-iana" ,go-golang-org-x-net-internal-iana)
+ ("go-golang-org-x-net-internal-socket"
+ ,go-golang-org-x-net-internal-socket)
+ ("go-golang-org-x-net-internal-socks"
+ ,go-golang-org-x-net-internal-socks)
+ ("go-golang-org-x-net-ipv4" ,go-golang-org-x-net-ipv4)
+ ("go-golang-org-x-net-ipv6" ,go-golang-org-x-net-ipv6)
+ ("go-golang-org-x-net-proxy" ,go-golang-org-x-net-proxy)
+ ("go-golang-org-x-text-unicode-norm" ,go-golang-org-x-text-unicode-norm)
+ ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)
+ ("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-qr" ,go-github-com-vitrun-qart-qr)
+ ("go-github-com-vitrun-qart-coding" ,go-github-com-vitrun-qart-coding)
+ ("go-github-com-vitrun-qart-gf256" ,go-github-com-vitrun-qart-gf256)
+ ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
+ ("go-golang-org-x-crypto-bcrypt" ,go-golang-org-x-crypto-bcrypt)
+ ("go-golang-org-x-crypto-blowfish" ,go-golang-org-x-crypto-blowfish)
+ ("go-github-com-flynn-archive-go-shlex"
+ ,go-github-com-flynn-archive-go-shlex)
+
+ ;; 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
(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")
(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))))
(define-public go-github-com-lib-pq
(package
(name "go-github-com-lib-pq")
- (version "1.0.0")
+ (version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1zqnnyczaf00xi6xh53vq758v5bdlf0iz7kf22l02cal4i6px47i"))))
+ "0g64wlg1l1ybq4x44idksl4pgm055s58jxc6r6x4qhqm5q76h0km"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/lib/pq"
;; 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)))
(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
(file-name (git-file-name name version))
(sha256
(base32
- "0v698bzs8lb59cqpsa9cf4sl8rdsvnnmaravhbfn6g6i511ppclr"))))
+ "0jivzl15jb8n16rm1b2w97kf7vna5dd3kcz865wfi233qay075j2"))))
(build-system go-build-system)
(propagated-inputs
`(("go-github-com-oschwald-maxminddb-golang"
`(#: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)))
(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
+;; XXX Syncthing actually imports 'github.com/chmduquesne/rollinghash/adler32'.
+;; Normally we'd package this module indpendenctly but the adler32 module itself
+;; imports 'github.com/chmduquesne/rollinghash/', so this is the easy way out.
+(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
"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))))
(arguments
`(#:import-path "github.com/pkg/errors"))
(synopsis "Go error handling primitives")
- (description "This packages provides @code{error}, which offers simple
+ (description "This package provides @code{error}, which offers simple
error handling primitives in Go.")
(home-page "https://github.com/pkg/errors")
(license bsd-2)))
(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"))
(license asl2.0))))
(define-public go-github-com-client-golang-prometheus-promhttp
- (let ((commit "180b8fdc22b4ea7750bcb43c925277654a1ea2f3")
- (revision "0"))
(package
(name "go-github-com-client-golang-prometheus-promhttp")
- (version (git-version "0.0.0" revision commit))
+ (version "0.9.2")
(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"))))
+ "02b4yg6rfag0m3j0i39sillcm5xczwv8h133vn12yr8qw04cnigs"))))
(build-system go-build-system)
(arguments
'(#:tests? #f ; The tests require internet access
,go-github-com-beorn7-perks-quantile)
("go-github-com-golang-protobuf-proto"
,go-github-com-golang-protobuf-proto)
+ ("go-github-com-prometheus-common-model"
+ ,go-github-com-prometheus-common-model)
("go-github-com-prometheus-client-model-go"
,go-github-com-prometheus-client-model-go)
+ ("go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg"
+ ,go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg)
("go-github-com-prometheus-common-expfmt"
,go-github-com-prometheus-common-expfmt)
("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)))
(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))))
+ (license asl2.0)))
-(define-public go-github-com-client-golang-prometheus
- (let ((commit "7e9098b20fb8e103a7a5691878272d7e3d703663")
- (revision "0"))
+(define-public go-github-com-prometheus-client-golang-prometheus
(package
(name "go-github-com-prometheus-client-golang-prometheus")
- (version (git-version "0.9.1" revision commit))
+ (version "0.9.2")
(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
- "09q8hlvgyn58hn8fmmj535hrwhqc1215czwzf7fhaqpa9zamj4w1"))))
+ "02b4yg6rfag0m3j0i39sillcm5xczwv8h133vn12yr8qw04cnigs"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/client_golang/prometheus"
(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-common-model" ,go-github-com-prometheus-common-model)
("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)))
+ ("go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg"
+ ,go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg)))
(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
quoting, commenting, and escaping.")
(home-page "https://github.com/flynn-archive/go-shlex")
(license asl2.0))))
+
+(define-public go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg
+ (package
+ (name "go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg")
+ (version "0.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/common.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "02kym6lcfnlq23qbv277jr0q1n7jj0r14gqg93c7wn7gc44jv3vp"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg"
+ #:unpack-path "github.com/prometheus/common"))
+ (synopsis "Internal Prometheus component")
+ (description "This package is an internal component of Prometheus.")
+ (home-page "https://github.com/prometheus/common")
+ (license asl2.0)))