;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2016, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.com>
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 raingloom <raingloom@riseup.net>
+;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
+;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system go)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
+ #:use-module (gnu packages base)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
- #:use-module (gnu packages base)
- #:use-module (gnu packages perl)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages pcre)
#:use-module (gnu packages lua)
#:use-module (gnu packages mp3)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages web)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
("os/os_test.go" "(.+)(TestHostname.+)")
("time/format_test.go" "(.+)(TestParseInSydney.+)")
+ ;; XXX: This test fails with tzdata 2020b and newer. Later
+ ;; Go releases work fine, so just disable this for the
+ ;; bootstrap Go.
+ ("time/example_test.go" "(.+)(ExampleParseInLocation.+)")
+
("os/exec/exec_test.go" "(.+)(TestEcho.+)")
("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
(package
(inherit go-1.4)
(name "go")
- (version "1.14.4")
+ (version "1.14.15")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "08bazglmqp123c9dgrxflvxd011xsqfxsgah2kzbvca0mhm6qcm3"))))
+ "1crh90qkvhlx23hwsi4wxy3l3h8973lr18135y6h1nnzzwr3n3ps"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:system system)
"cmd/go/testdata/script/cover_cgo.txt"
"cmd/go/testdata/script/cover_cgo_xtest.txt"
"cmd/go/testdata/script/cover_cgo_extra_test.txt"
- "cmd/go/testdata/script/cover_cgo_extra_file.txt"))
+ "cmd/go/testdata/script/cover_cgo_extra_file.txt"
+ "cmd/go/testdata/script/cgo_path_space.txt"
+ "cmd/go/testdata/script/ldflag.txt"
+ "cmd/go/testdata/script/cgo_path.txt"))
(for-each make-file-writable (find-files "."))
(home-page "https://github.com/aki237/nscjar")
(license license:expat))))
+(define-public go-github-com-golangplus-fmt
+ (package
+ (name "go-github-com-golangplus-fmt")
+ (version "1.0.0")
+ (home-page "https://github.com/golangplus/fmt")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07d5kxz0f8ss3v46y0c8jg02sagi0wlaaijhjzzp0r462jyzqii7"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/golangplus/fmt"))
+ (synopsis "Additions to Go's standard @code{fmt} package")
+ (description "This package provides additions to Go's stdlib @code{fmt}.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-motemen-go-colorine
+ (let ((commit "45d19169413a019e4e2be69629dde5c7d92f8706")
+ (revision "0"))
+ (package
+ (name "go-github-com-motemen-go-colorine")
+ (version (git-version "0.0.0" revision commit))
+ (home-page "https://github.com/motemen/go-colorine")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mdy6q0926s1frj027nlzlvm2qssmkpjis7ic3l2smajkzh07118"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/motemen/go-colorine"))
+ (propagated-inputs
+ `(("github.com/daviddengcn/go-colortext" ,go-github-com-daviddengcn-go-colortext)))
+ (synopsis "Simple colorized console logger for golang")
+ (description
+ "This package provides simple colorized console logger for golang.")
+ (license license:expat))))
+
+(define-public go-github-com-daviddengcn-go-colortext
+ (package
+ (name "go-github-com-daviddengcn-go-colortext")
+ (version "1.0.0")
+ (home-page "https://github.com/daviddengcn/go-colortext")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j5ldwg3a768d3nniiglghr9axj4p87k7f7asqxa1a688xvcms48"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/daviddengcn/go-colortext"))
+ (native-inputs
+ `(("go-github-com-golangplus-testing" ,go-github-com-golangplus-testing)))
+ (synopsis "Change the color of console text and background")
+ (description
+ "This is a package to change the color of the text and background in the
+console, working both under Windows and other systems.
+
+Under Windows, the console APIs are used. Otherwise, ANSI texts are output.")
+ ;; dual-licensed
+ (license (list license:bsd-3 license:expat))))
+
+(define-public go-github-com-golangplus-testing
+ (package
+ (name "go-github-com-golangplus-testing")
+ (version "1.0.0")
+ (home-page "https://github.com/golangplus/testing")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a29m4zplf9m14k74lrb55dids2l17vx28sv0g3y3qcv1xygksiv"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/golangplus/testing"))
+ (propagated-inputs
+ `(("go-github-com-golangplus-fmt" ,go-github-com-golangplus-fmt)))
+ (synopsis "Additions to Go's standard testing package")
+ (description "This package provides additions to Go's stdlib testing.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-leodido-go-urn
+ (package
+ (name "go-github-com-leodido-go-urn")
+ (version "1.2.0")
+ (home-page "https://github.com/leodido/go-urn")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1d4g1vkhc1180l1n7q48vl84b27c7cziywml78cyijbcdz2f8vim"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/leodido/go-urn"))
+ (native-inputs
+ `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
+ (synopsis "Parser for uniform resource names as seen on RFC 2141")
+ (description
+ "This package implements a parser for uniform resource names (URN) as
+specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
+ (license license:expat)))
+
(define-public go-github.com-jessevdk-go-flags
(package
(name "go-github.com-jessevdk-go-flags")
(home-page "https://github.com/jessevdk/go-flags")
(license license:bsd-3)))
+(define-public go-gopkg-in-go-playground-assert-v1
+ (package
+ (name "go-gopkg-in-go-playground-assert-v1")
+ (version "1.2.1")
+ (home-page "https://github.com/go-playground/assert")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1h4amgykpa0djwi619llr3g55p75ia0mi184h9s5zdl8l4rhn9pm"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "gopkg.in/go-playground/assert.v1"))
+ (synopsis "Basic assertion library used alongside native Go testing")
+ (description
+ "This package provides bassic assertions along with building blocks for
+custom assertions to be used alongside native Go testing.")
+ (license license:expat)))
+
+(define-public go-github-com-go-playground-locales
+ (package
+ (name "go-github-com-go-playground-locales")
+ (version "0.13.0")
+ (home-page "https://github.com/go-playground/locales")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qydcpkvss3mf8mk3xzg6a34n8i69aydrigcl2apifrkx72jw7pf"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/go-playground/locales"))
+ (synopsis "Set of locales generated from the CLDR Unicode Project")
+ (description
+ "This package provides a set of locales generated from the
+@uref{http://cldr.unicode.org/, Unicode CLDR Project} which can be used
+independently or within an internalization (i18n) package. Its currently
+implemented features include
+
+@itemize
+@item Rules generated from the CLDR data, v31.0.3
+@item Contains Cardinal, Ordinal and Range Plural Rules
+@item Contains Month, Weekday and Timezone translations built in
+@item Contains Date & Time formatting functions
+@item Contains Number, Currency, Accounting and Percent formatting functions
+@item Supports the \"Gregorian\" calendar only
+@end itemize")
+ (license license:expat)))
+
+(define-public go-github-com-go-playground-universal-translator
+ (package
+ (name "go-github-com-go-playground-universal-translator")
+ (version "0.17.0")
+ (home-page "https://github.com/go-playground/universal-translator")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zdiaisb32iv4x93cpbqrgx8ll7sxh4hcd2iibpswy4bwvjbjlz6"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/go-playground/universal-translator"))
+ (propagated-inputs
+ `(("go-github-com-go-playground-locales" ,go-github-com-go-playground-locales)))
+ (synopsis "Translator using Unicode CLDR data and pluralization rules")
+ (description
+ "This package offers an Internalization Translator for Go using
+@uref{http://cldr.unicode.org/, Unicode CLDR Project} data and pluralization
+rules. Its currently implemented features include
+
+@itemize
+@item Rules generated from the CLDR data, v30.0.3
+@item Contains Cardinal, Ordinal and Range Plural Rules
+@item Contains Month, Weekday and Timezone translations built in
+@item Contains Date & Time formatting functions
+@item Contains Number, Currency, Accounting and Percent formatting functions
+@item Supports the \"Gregorian\" calendar only
+@item Support loading translations from files
+@item Exporting translations to file(s), mainly for getting them
+professionally translated
+@end itemize")
+ (license license:expat)))
+
+(define-public go-gopkg-in-go-playground-validator-v9
+ (package
+ (name "go-gopkg-in-go-playground-validator-v9")
+ (version "9.31.0")
+ (home-page "https://gopkg.in/go-playground/validator.v9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-playground/validator")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1f8c77s8kx9rip2jarv27x5s4xkcmanh4ndyhbcwvrhncs5rq061"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "gopkg.in/go-playground/validator.v9"))
+ (native-inputs
+ `(("go-gopkg-in-go-playground-assert-v1"
+ ,go-gopkg-in-go-playground-assert-v1)))
+ (propagated-inputs
+ `(("go-github-com-go-playground-universal-translator"
+ ,go-github-com-go-playground-universal-translator)
+ ("go-github-com-leodido-go-urn" ,go-github-com-leodido-go-urn)))
+ (synopsis "Validator for structs and individual fields based on tags")
+ (description
+ "This package implements value validations for structs and individual
+fields based on tags. It has the following unique features:
+
+@itemize
+@item Cross Field and Cross Struct validations by using validation tags or
+custom validators
+@item Slice, Array and Map diving, which allows any or all levels of a
+multidimensional field to be validated
+@item Ability to dive into both map keys and values for validation
+@item Handles type interface by determining it's underlying type prior to validation
+@item Handles custom field types such as sql driver
+@uref{https://golang.org/src/database/sql/driver/types.go?s=1210:1293#L29,
+Valuer}
+@item Alias validation tags, which allows for mapping of several validations
+to a single tag for easier defining of validations on structs
+@item Extraction of custom defined Field Name e.g. can specify to extract the
+JSON name while validating and have it available in the resulting FieldError
+@item Customizable i18n aware error messages.
+@item Default validator for the @uref{https://github.com/gin-gonic/gin, gin}
+web framework
+@end itemize")
+ (license license:expat)))
+
+(define-public go-github-com-aws-sdk
+ (package
+ (name "go-github-com-aws-sdk")
+ (version "1.35.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aws/aws-sdk-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ky5lw2s2zpslnnqcs6hgsrwvwbxwgflb5jwf16dd4aga3vrg10c"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/aws/aws-sdk-go/aws"
+ #:unpack-path "github.com/aws/aws-sdk-go"))
+ (propagated-inputs
+ `(("go-github-com-go-sql-driver-mysql" ,go-github-com-go-sql-driver-mysql)
+ ("go-github-com-jmespath-go-jmespath" ,go-github-com-jmespath-go-jmespath)
+ ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
+ ("go-golang-org-x-net" ,go-golang-org-x-net)))
+ (home-page "https://github.com/aws/aws-sdk-go")
+ (synopsis "Library to access Amazon Web Services (AWS)")
+ (description
+ "This is the official AWS SDK for the Go programming language.")
+ (license license:asl2.0)))
+
(define-public go-gopkg.in-tomb.v2
(let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c")
(revision "0"))
(home-page "https://gopkg.in/tomb.v2")
(license license:bsd-3))))
+(define-public go-gopkg-in-natefinch-lumberjack.v2
+ (package
+ (name "go-gopkg-in-natefinch-lumberjack.v2")
+ (version "2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/natefinch/lumberjack")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1l3vlv72b7rfkpy1164kwd3qzrqmmjnb67akzxqp2mlvc66k6p3d"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "gopkg.in/natefinch/lumberjack.v2"))
+ (propagated-inputs
+ `(("github.com/burntsush/toml" ,go-github-com-burntsushi-toml)
+ ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
+ (home-page "https://github.com/natefinch/lumberjack")
+ (synopsis "Rolling logger for Go")
+ (description
+ "Lumberjack is a Go package for writing logs to rolling files.")
+ (license license:expat)))
+
(define-public go-github.com-jtolds-gls
(package
(name "go-github.com-jtolds-gls")
(home-page "https://go.googlesource.com/net")
(license license:bsd-3))))
+(define-public go-golang-org-x-net-html
+ (package
+ (inherit go-golang-org-x-net)
+ (name "go-golang.org-x-net-html")
+ (arguments
+ '(#:import-path "golang.org/x/net/html"
+ #:unpack-path "golang.org/x/net"))
+ (synopsis "HTML5-compliant tokenizer and parser")
+ (description
+ "This package provides an HTML5-compliant tokenizer and parser.")
+ (home-page "https://godoc.org/golang.org/x/net/html")))
+
(define-public go-golang-org-x-image
(let ((commit "58c23975cae11f062d4b3b0c143fe248faac195d")
(revision "1"))
spec in Go.")
(license license:bsd-3))))
+(define-public go-golang-org-x-xerrors
+ (let ((commit "5ec99f83aff198f5fbd629d6c8d8eb38a04218ca")
+ (revision "0"))
+ (package
+ (name "go-golang-org-x-xerrors")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/xerrors")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dbzc3gmf2haazpv7cgmv97rq40g2xzwbglc17vas8dwhgwgwrzb"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "golang.org/x/xerrors"))
+ (synopsis "Go 1.13 error values")
+ (description
+ "This package holds the transition packages for the new Go 1.13 error values.")
+ (home-page "https://godoc.org/golang.org/x/xerrors")
+ (license license:bsd-3))))
+
(define-public go-github-com-burntsushi-toml
(package
(name "go-github-com-burntsushi-toml")
optimized for performance yet simple to use.")
(license license:expat))))
+(define-public go-github-com-tomnomnom-gron
+ (package
+ (name "gron")
+ (version "0.6.1")
+ (home-page "https://github.com/tomnomnom/gron")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qmzawkhg0qn9kxxrssbdjni2khvamhrcklv3yxc0ljmh77mh61m"))))
+ (build-system go-build-system)
+ (arguments
+ (let ((import-path "github.com/tomnomnom/gron"))
+ `(#:import-path ,import-path
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'check 'remove-non-source
+ (lambda _
+ (for-each (lambda (dir)
+ (delete-file-recursively
+ (string-append "src/" ,import-path dir)))
+ '("/docs" "/script" "/testdata"))
+ #t))))))
+ (inputs
+ `(("github.com/fatih/color" ,go-github-com-fatih-color)
+ ("github.com/mattn/go-colorable" ,go-github-com-mattn-go-colorable)
+ ("github.com/mattn/go-isatty" ,go-github-com-mattn-go-isatty)
+ ("github.com/nwidger/jsoncolor" ,go-github-com-nwidger-jsoncolor)
+ ("github.com/pkg/errors" ,go-github-com-pkg-errors)))
+ (synopsis "Transform JSON to make it easier to grep")
+ (description
+ "This package transforms JSON into discrete assignments to make it easier
+to use line-based tools such as grep to search for what you want and see the
+absolute \"path\" to it.")
+ (license license:expat)))
+
(define-public go-github-com-tv42-httpunix
(let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
(revision "0"))
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/tv42/httpunix.git")
+ (url "https://github.com/tv42/httpunix")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(license license:expat))))
(define-public go-github-com-emicklei-go-restful
- (let ((commit "89ef8af493ab468a45a42bb0d89a06fccdd2fb22")
- (revision "0"))
- (package
- (name "go-github-com-emicklei-go-restful")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/emicklei/go-restful")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0rrlfcfq80fkxifpih6bq31vavb5mf4530xz51pp9pq1mn2fzjfh"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/emicklei/go-restful"))
- (home-page "https://github.com/emicklei/go-restful")
- (synopsis "Build REST-style web services using Go")
- (description "This package provides @code{go-restful}, which helps
+ (package
+ (name "go-github-com-emicklei-go-restful")
+ (version "3.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emicklei/go-restful")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0m1y5a6xr6hmdj77afrvyh2llkbhn1166lcrgis654shl8zs9qhz"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/emicklei/go-restful"))
+ (home-page "https://github.com/emicklei/go-restful")
+ (synopsis "Build REST-style web services using Go")
+ (description "This package provides @code{go-restful}, which helps
developers to use @code{http} methods explicitly and in a way that's consistent
with the HTTP protocol definition.")
- (license license:expat))))
+ (license license:expat)))
(define-public go-github-com-google-cadvisor
(let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd")
(license license:bsd-3))))
(define-public go-github-com-gorilla-mux
- (let ((commit "599cba5e7b6137d46ddf58fb1765f5d928e69604")
- (revision "0"))
- (package
- (name "go-github-com-gorilla-mux")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gorilla/mux")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0wd6jjii1kg5s0nk3ri6gqriz6hbd6bbcn6x4jf8n7ncrb8qsxyz"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/gorilla/mux"))
- (home-page "https://github.com/gorilla/mux")
- (synopsis "URL router and dispatcher for Go")
- (description
- "Gorilla/Mux implements a request router and dispatcher for matching
-incoming requests with their respective handler.")
- (license license:bsd-3))))
+ (package
+ (name "go-github-com-gorilla-mux")
+ (version "1.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gorilla/mux")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "18f0q9qxgq1yh4ji07mqhiydfcwvi56z9d775v7dc7yckj33kpdk"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/gorilla/mux"))
+ (home-page "https://github.com/gorilla/mux")
+ (synopsis "URL router and dispatcher for Go")
+ (description
+ "Gorilla/Mux implements a request router and dispatcher for matching
+incoming requests with their respective handler.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-handlers
+ (package
+ (name "go-github-com-gorilla-handlers")
+ (version "1.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gorilla/handlers")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "15gycdz9lkjnsvvichsbdf25vf6pi1sfn41khhz53iqf300l0w0s"))))
+ (build-system go-build-system)
+ (propagated-inputs
+ `(("github.com/felixge/httpsnoop" ,go-github-com-felixge-httpsnoop)))
+ (arguments
+ '(#:tests? #f ; Tries to download from the internet
+ #:import-path "github.com/gorilla/handlers"))
+ (home-page "https://github.com/gorilla/handlers")
+ (synopsis "Middleware for Go HTTP services and web applications")
+ (description "A collection of useful middleware for Go HTTP services
+and web applications.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-securecookie
+ (package
+ (name "go-github-com-gorilla-securecookie")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gorilla/securecookie")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16bqimpxs9vj5n59vm04y04v665l7jh0sddxn787pfafyxcmh410"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/gorilla/securecookie"))
+ (home-page "https://github.com/gorilla/securecookie")
+ (synopsis "Encodes and decodes authenticated and optionally encrypted
+cookie values")
+ (description
+ "Gorilla/securecookie encodes and decodes authenticated and optionally
+encrypted cookie values for Go web applications.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-csrf
+ (package
+ (name "go-github-com-gorilla-csrf")
+ (version "1.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gorilla/csrf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0iryq0z48yi7crfbd8jxyn7lh1gsglpiglvjgnf23bz6xfisssav"))))
+ (build-system go-build-system)
+ (propagated-inputs
+ `(("github.com/gorilla/securecookie" ,go-github-com-gorilla-securecookie)
+ ("github.com/pkg/errors" ,go-github-com-pkg-errors)))
+ (arguments
+ '(#:import-path "github.com/gorilla/csrf"))
+ (home-page "https://github.com/gorilla/csrf")
+ (synopsis "Cross Site Request Forgery (CSRF) prevention middleware")
+ (description
+ "Gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention
+middleware for Go web applications and services.")
+ (license license:bsd-3)))
(define-public go-github-com-jonboulle-clockwork
(let ((commit "e3653ace2d63753697e0e5b07b9393971c0bba9d")
all types of configuration needs and formats.")
(license license:expat)))
+(define-public go-github-com-felixge-httpsnoop
+ (package
+ (name "go-github-com-felixge-httpsnoop")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/felixge/httpsnoop")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ncd8lar5zxiwjhsp315s4hsl4bhnm271h49jhyxc66r5yffgmac"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/felixge/httpsnoop"))
+ (home-page "https://github.com/felixge/httpsnoop/")
+ (synopsis "Capture http related metrics")
+ (description
+ "Httpsnoop provides an easy way to capture http related
+metrics (i.e. response time, bytes written, and http status code) from your
+application's http.Handlers.")
+ (license license:expat)))
+
(define-public go-github-com-fsnotify-fsnotify
(package
(name "go-github-com-fsnotify-fsnotify")
(define-public go-github-com-magiconair-properties
(package
(name "go-github-com-magiconair-properties")
- (version "1.8.1")
+ (version "1.8.4")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "19zqw1x0w0crh8zc84yy82nkcc5yjz72gviaf2xjgfm5a8np7nyb"))))
+ "0q7d55z0v8y55dyy8nhgdnswf5zkgj3i87irbk294nvzhx01bnxd"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/magiconair/properties"))
(define-public go-github-com-sirupsen-logrus
(package
(name "go-github-com-sirupsen-logrus")
- (version "1.0.5")
+ (version "1.8.1")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
+ "0rvqzic2zz7fpxyizmqxwmhv1m52ii9bgxnqa6km8wsa0l08wh42"))))
(build-system go-build-system)
(propagated-inputs
- `(("go-golang-org-x-crypto"
- ,go-golang-org-x-crypto)
- ("go-github-com-stretchr-testify"
- ,go-github-com-stretchr-testify)
+ `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)
+ ("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib)
+ ("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
+ ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(arguments
- '(#:tests? #f ;FIXME missing dependencies
- #:import-path "github.com/sirupsen/logrus"))
+ '(#:import-path "github.com/sirupsen/logrus"))
(home-page "https://github.com/sirupsen/logrus")
(synopsis "Structured, pluggable logging for Go")
(description "Logrus is a structured logger for Go, completely API
(method git-fetch)
(uri (git-reference
(url
- "https://github.com/ayufan/golang-kardianos-service.git")
+ "https://github.com/ayufan/golang-kardianos-service")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(license license:expat)))
(define-public go-github-com-mattn-go-colorable
- (let ((commit "efa589957cd060542a26d2dd7832fd6a6c6c3ade")
- (revision "0"))
- (package
- (name "go-github-com-mattn-go-colorable")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mattn/go-colorable")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r"))))
- (build-system go-build-system)
- (native-inputs
- `(("go-github-com-mattn-go-isatty"
- ,go-github-com-mattn-go-isatty)))
- (arguments
- '(#:import-path "github.com/mattn/go-colorable"))
- (home-page "https://github.com/mattn/go-colorable")
- (synopsis "Handle ANSI color escapes on Windows")
- (description "This package provides @code{colorable}, a module that
+ (package
+ (name "go-github-com-mattn-go-colorable")
+ (version "0.1.8")
+ (home-page "https://github.com/mattn/go-colorable")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q34zqwbnls72md8q8mhj368s7p3i4xspvs3rk8fs76s0pn7dr2l"))))
+ (build-system go-build-system)
+ (native-inputs
+ `(("go-github-com-mattn-go-isatty"
+ ,go-github-com-mattn-go-isatty)))
+ (arguments
+ '(#:import-path "github.com/mattn/go-colorable"))
+ (synopsis "Handle ANSI color escapes on Windows")
+ (description "This package provides @code{colorable}, a module that
makes it possible to handle ANSI color escapes on Windows.")
- (license license:expat))))
+ (license license:expat)))
(define-public go-github-com-mattn-go-pointer
(let ((commit "a0a44394634f41e4992b173b24f14fecd3318a67")
fast and distributable command line applications in an expressive way.")
(license license:expat)))
+(define-public go-github-com-urfave-cli-v2
+ (package
+ (inherit go-github-com-urfave-cli)
+ (name "go-github-com-urfave-cli-v2")
+ (version "2.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/urfave/cli")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "08pvn7gyfznni72xrxfh2x6xxa8ykr7l1ka278js8g8qkh71bj8l"))))
+ (arguments
+ '(#:import-path "github.com/urfave/cli/v2"))))
+
(define-public go-github-com-go-md2man
(package
(name "go-github-com-go-md2man")
(define-public go-github-com-kr-pretty
(package
(name "go-github-com-kr-pretty")
- (version "0.2.0")
+ (version "0.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1ywbfzz1h3a3qd8rpkiqwi1dm4w8ls9ijb4x1b7567grns9f0vnp"))))
+ "0vzfz06y9q8gs2nxx0kys0591vzp78k0fvpb8digi5n15h3b25hy"))))
(build-system go-build-system)
(propagated-inputs
`(("go-github-com-kr-text" ,go-github-com-kr-text)))
(arguments
'(#:import-path "github.com/kr/pretty"))
- (synopsis "A pretty printer for Go values")
+ (synopsis "Pretty printer for Go values")
(description "This package provides a pretty printer for Go values.")
(home-page "https://github.com/kr/pretty")
(license license:expat)))
(home-page "https://github.com/DATA-DOG/go-sqlmock")
(license license:expat))))
+(define-public go-github-com-go-sql-driver-mysql
+ (package
+ (name "go-github-com-go-sql-driver-mysql")
+ (version "1.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-sql-driver/mysql")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11x0m9yf3kdnf6981182r824psgxwfaqhn3x3in4yiidp0w0hk3v"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:tests? #f ;; tests require a network connection
+ #:import-path "github.com/go-sql-driver/mysql"))
+ (home-page "https://github.com/go-sql-driver/mysql")
+ (synopsis "MySQL driver for golang")
+ (description
+ "This is a pure Go implementation of the MySQL API, compatible with
+golang's database/sql package.")
+ (license license:mpl2.0)))
+
(define-public go-golang-org-colorful
(package
(name "go-golang-org-colorful")
(define-public go-github-com-google-go-cmp-cmp
(package
(name "go-github-com-google-go-cmp-cmp")
- (version "0.3.1")
+ (version "0.5.2")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1caw49i0plkjxir7kdf5qhwls3krqwfmi7g4h392rdfwi3kfahx1"))))
+ "0qchy411jm9q2l9mf7x3ry2ycaqp9xdhf2nx14qrpzcxfigv2705"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/google/go-cmp/cmp"
#:unpack-path "github.com/google/go-cmp"))
+ (propagated-inputs
+ `(("go-golang-org-x-xerrors" ,go-golang-org-x-xerrors)))
(synopsis "Determine equality of values in Go")
(description "This package provides a more powerful and safer
alternative to @code{reflect.DeepEqual} for comparing whether two values
directories. It is optimized for filewalking. ")
(license license:expat)))
+(define-public go-github-com-mattn-go-sqlite3
+ (package
+ (name "go-github-com-mattn-go-sqlite3")
+ (version "1.14.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mattn/go-sqlite3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "04anvqkc37mmc3z1dy4xfa6cas67zlxnnab0ywii7sylk864mhxz"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/mattn/go-sqlite3"))
+ (home-page "https://github.com/mattn/go-sqlite3")
+ (synopsis "Sqlite3 driver for Go")
+ (description "This package provides a Sqlite3 driver for Go using
+@code{database/sql}.")
+ (license license:expat)))
+
(define-public go-github-com-willf-bitset
(package
(name "go-github-com-willf-bitset")
(build-system go-build-system)
(arguments
`(#:import-path "github.com/PuerkitoBio/goquery"))
- (native-inputs
+ (propagated-inputs
`(("go-github-com-andybalholm-cascadia" ,go-github-com-andybalholm-cascadia)
("go-golang-org-x-net" ,go-golang-org-x-net)))
(home-page "https://github.com/PuerkitoBio/goquery")
to jQuery to the Go language.")
(license license:bsd-3)))
+(define-public go-github-com-jmespath-go-jmespath
+ (package
+ (name "go-github-com-jmespath-go-jmespath")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jmespath/go-jmespath")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "18zyr9nlywmwp3wpzcjxrgq9s9d2mmc6zg6xhsna00m663nkyc3n"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/jmespath/go-jmespath"))
+ (native-inputs
+ `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)
+ ("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib)
+ ("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2)))
+ (home-page "https://github.com/jmespath/go-jmespath")
+ (synopsis "Golang implementation of JMESPath")
+ (description
+ "This package implements JMESPath, a query language for JSON. It
+transforms one JSON document into another through a JMESPath expression.")
+ (license license:asl2.0)))
+
(define-public go-github-com-aymerick-douceur
(package
(name "go-github-com-aymerick-douceur")
escape sequences and color conversions.")
(license license:expat)))
+(define-public go-github-com-nwidger-jsoncolor
+ (package
+ (name "go-github-com-nwidger-jsoncolor")
+ (version "0.3.0")
+ (home-page "https://github.com/nwidger/jsoncolor")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "13rd146pnj7qm70r1333gyd1f61x40nafxlpvdxlci9h7mx8c5p8"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/nwidger/jsoncolor"))
+ (native-inputs
+ `(("go-github-com-fatih-color" ,go-github-com-fatih-color)))
+ (synopsis "Colorized JSON marshalling and encoding")
+ (description
+ "@code{jsoncolor} is a drop-in replacement for @code{encoding/json}'s
+@code{Marshal} and @code{MarshalIndent} functions and @code{Encoder} type
+which produce colorized output using github.com/fatih/color.")
+ (license license:expat)))
+
(define-public go-github-com-olekukonko-tablewriter
(package
(name "go-github-com-olekukonko-tablewriter")
`(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)))
(home-page "https://github.com/olekukonko/tablewriter/")
(synopsis "Generate ASCII table")
- (description "This package allows to generate ASCII table. Features:
+ (description "This package generates ASCII tables. Features:
@itemize
@item automatic Padding
@item support Multiple Lines
(synopsis "Write handsome command-line tools with glamour")
(description "@code{glamour} lets you render markdown documents and
templates on ANSI compatible terminals. You can create your own stylesheet or
-use one of our glamourous default themes.")
+use one of our glamorous default themes.")
(license license:expat)))
(define-public go-github-com-coreos-go-semver
is unchanged. This package contains a series of small enhancements and
additions.")
(license license:bsd-3))))
+
+(define-public go-github-com-frankban-quicktest
+ (package
+ (name "go-github-com-frankban-quicktest")
+ (version "1.11.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/frankban/quicktest")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b1b44b2hli2p969gqz30z8v9z6ahlklpqzi17nwk1lsjz9yv938"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/frankban/quicktest"))
+ (propagated-inputs
+ `(("go-github-com-google-go-cmp-cmp" ,go-github-com-google-go-cmp-cmp)
+ ("go-github-com-kr-pretty" ,go-github-com-kr-pretty)))
+ (home-page "https://github.com/frankban/quicktest")
+ (synopsis "Quick helpers for testing Go applications")
+ (description
+ "Package quicktest provides a collection of Go helpers for writing
+tests.")
+ (license license:expat)))
+
+(define-public go-github-com-bep-golibsass
+ (package
+ (name "go-github-com-bep-golibsass")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bep/golibsass")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0xk3m2ynbydzx87dz573ihwc4ryq0r545vz937szz175ivgfrhh3"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "libsass_src")
+ #t))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/bep/golibsass/libsass"
+ #:unpack-path "github.com/bep/golibsass"
+ ;; The dev build tag modifies the build to link to system libsass
+ ;; instead of including the bundled one (which we remove.)
+ ;; https://github.com/bep/golibsass/blob/v0.7.0/internal/libsass/a__cgo_dev.go
+ #:build-flags '("-tags" "dev")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'generate-bindings
+ ;; Generate bindings for system libsass, replacing the
+ ;; pre-generated bindings.
+ (lambda* (#:key inputs unpack-path #:allow-other-keys)
+ (mkdir-p (string-append "src/" unpack-path "/internal/libsass"))
+ (let ((libsass-src (string-append (assoc-ref inputs "libsass-src") "/src")))
+ (substitute* (string-append "src/" unpack-path "/gen/main.go")
+ (("filepath.Join\\(rootDir, \"libsass_src\", \"src\"\\)")
+ (string-append "\"" libsass-src "\""))
+ (("../../libsass_src/src/")
+ libsass-src)))
+ (invoke "go" "generate" (string-append unpack-path "/gen"))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (if tests?
+ (invoke "go" "test" import-path "-tags" "dev"))
+ #t)))))
+ (propagated-inputs
+ `(("libsass" ,libsass)))
+ (native-inputs
+ `(("go-github-com-frankban-quicktest" ,go-github-com-frankban-quicktest)
+ ("libsass-src" ,(package-source libsass))))
+ (home-page "https://github.com/bep/golibsass")
+ (synopsis "Easy to use Go bindings for LibSass")
+ (description
+ "This package provides SCSS compiler support for Go applications.")
+ (license license:expat)))
+
+(define-public go-github-com-hashicorp-go-syslog
+ (package
+ (name "go-github-com-hashicorp-go-syslog")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-syslog")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/hashicorp/go-syslog"))
+ (home-page "https://github.com/hashicorp/go-syslog")
+ (synopsis "Golang syslog wrapper, cross-compile friendly")
+ (description "This package is a very simple wrapper around log/syslog")
+ (license license:expat)))
+
+(define-public go-github-com-hjson-hjson-go
+ (package
+ (name "go-github-com-hjson-hjson-go")
+ (version "3.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hjson/hjson-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dfdiahimg6z9idg8jiqxwnlwjnmasbjccx8gnag49cz4yfqskaz"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/hjson/hjson-go"))
+ (home-page "https://hjson.org/")
+ (synopsis "Human JSON implementation for Go")
+ (description "Hjson is a syntax extension to JSON. It is intended to be
+used like a user interface for humans, to read and edit before passing the
+JSON data to the machine.")
+ (license license:expat)))
+
+(define-public go-golang-zx2c4-com-wireguard
+ (package
+ (name "go-golang-zx2c4-com-wireguard")
+ (version "0.0.20200320")
+ (source
+ (origin
+ (method git-fetch)
+ ;; NOTE: module URL is a redirect
+ ;; target: git.zx2c4.com/wireguard-go
+ ;; source: golang.zx2c4.com/wireguard
+ (uri (git-reference
+ (url "https://git.zx2c4.com/wireguard-go/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fy4qsss3i3pkq1rpgjds4aipbwlh1dr9hbbf7jn2a1c63kfks0r"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "golang.zx2c4.com/wireguard"))
+ (propagated-inputs
+ `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+ ("go-golang-org-x-net" ,go-golang-org-x-net)
+ ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+ ("go-golang-org-x-text" ,go-golang-org-x-text)))
+ (home-page "https://git.zx2c4.com/wireguard")
+ (synopsis "Implementation of WireGuard in Go")
+ (description "This package is a Go Implementation of WireGuard.")
+ (license license:expat)))
+
+(define-public go-github-com-kardianos-minwinsvc
+ (package
+ (name "go-github-com-kardianos-minwinsvc")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kardianos/minwinsvc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0z941cxymkjcsj3p5l3g4wm2da3smz7iyqk2wbs5y8lmxd4kfzd8"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/kardianos/minwinsvc"))
+ (home-page "https://github.com/kardianos/minwinsvc/")
+ ;; some packages (Yggdrasil) need it to compile
+ ;; it's a tiny package and it's easier to bundle it than to patch it out
+ (synopsis "Minimal windows only service stub for Go")
+ (description "Go programs designed to run from most *nix style operating
+systems can import this package to enable running programs as services without
+modifying them.")
+ (license license:zlib)))
+
+(define-public go-github-com-goccy-yaml
+ (package
+ (name "go-github-com-goccy-yaml")
+ (version "1.8.0")
+ (home-page "https://github.com/goccy/go-yaml")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1nps58dwkd915mx35h5f0dc05b880b4fdl6dcjxpfmmbzyinvg38"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/goccy/go-yaml"))
+ (propagated-inputs
+ `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
+ ("go-golang-org-x-xerrors" ,go-golang-org-x-xerrors)))
+ (native-inputs
+ `(("go-gopkg-in-go-playground-validator-v9"
+ ,go-gopkg-in-go-playground-validator-v9)))
+ (synopsis "YAML support for the Go language")
+ (description
+ "This package provides features beyond the
+@uref{https://github.com/go-yaml/yaml, defacto YAML library} including:
+
+@itemize
+@item Pretty format for error notifications
+@item Support Scanner or Lexer or Parser as public API
+@item Support Anchor and Alias to Marshaler
+@item Allow referencing elements declared in another file via anchors
+@item Extract value or AST by YAMLPath (YAMLPath is like a JSONPath)
+@end itemize")
+ (license license:expat)))
+
+(define-public go-github-com-tekwizely-go-parsing
+ (let ((commit "1548cfb17df54d365ce9febed0677c06a40a8ceb")
+ (revision "0"))
+ (package
+ (name "go-github-com-tekwizely-go-parsing")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tekwizely/go-parsing")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bv5amka8hb9crc7qvlzi2kbycqrnh9d46b9wgcs8wqzl0z7w609"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/tekwizely/go-parsing"))
+ (home-page "https://github.com/tekwizely/go-parsing")
+ (synopsis "Text parsing, with lexers, parsers, and related tools")
+ (description
+ "This package provides Go modules focused on text parsing, with lexers,
+parsers, and related tools.")
+ (license license:expat))))
+
+(define-public go-github.com-ulikunitz-xz
+ (package
+ (name "go-github.com-ulikunitz-xz")
+ (version "0.5.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ulikunitz/xz.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1xnsymi5fmmm734bi4c6z57p5cvnyxlpi29yxs4v21w5k763aypd"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/ulikunitz/xz"))
+ (synopsis "Read and write xz compressed streams in Go")
+ (description "This package provides a library to read and write xz
+compressed streams in Go.")
+ (home-page "https://github.com/ulikunitz/xz")
+ (license license:bsd-3)))
+
+(define-public go-github-com-songmu-gitconfig
+ (package
+ (name "go-github-com-songmu-gitconfig")
+ (version "0.1.0")
+ (home-page "https://github.com/songmu/gitconfig")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1y01h496a7pfj1g2bclls5b0nl3vnj7nz610jj1dzq9kxrwxk7fk"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/Songmu/gitconfig"
+ ;; Package's tests appear to be hardcoded to the author's gitconfig
+ ;; and require network access.
+ #:tests? #f))
+ (propagated-inputs
+ `(("go-github-com-goccy-yaml" ,go-github-com-goccy-yaml)))
+ (synopsis "Go library to get configuration values from gitconfig")
+ (description "@{gitconfig} is a package to get configuration values from gitconfig.")
+ (license license:expat)))
+
+(define-public go-github-com-operatorfoundation-ed25519
+ (let ((commit "b22b4bd3ddef042eec45f3ee135cd40281fde2b4")
+ (revision "0"))
+ (package
+ (name "go-github-com-operatorfoundation-ed25519")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OperatorFoundation/ed25519")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0xrzqrjlghkgd1cy5rj4khryn4f59vas2vzrxc6d8jpj5ijf3xkv"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/OperatorFoundation/ed25519"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'remove-test-data
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ (string-append "src/" import-path "/testdata"))
+ #t)))))
+ (home-page "https://github.com/OperatorFoundation/ed25519")
+ (synopsis "Ed25519 for go")
+ (description "Package ed25519 implements the Ed25519 signature
+algorithm.")
+ (license license:bsd-3))))
+
+(define-public go-github-com-akosmarton-papipes
+ (let ((commit "3c63b4919c769c9c2b2d07e69a98abb0eb47fe64")
+ (revision "0"))
+ (package
+ (name "go-github-com-akosmarton-papipes")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/akosmarton/papipes")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16p77p3d1v26qd3knxn087jqlad2qm23q8m796cdr66hrdc0gahq"))))
+ (build-system go-build-system)
+ (inputs
+ `(("pulseaudio" ,pulseaudio)))
+ (arguments
+ `(#:import-path "github.com/akosmarton/papipes"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("src/github.com/akosmarton/papipes/common.go"
+ "src/github.com/akosmarton/papipes/sink.go"
+ "src/github.com/akosmarton/papipes/source.go")
+ (("exec.Command\\(\"pactl\"")
+ (string-append "exec.Command(\""
+ (assoc-ref inputs "pulseaudio")
+ "/bin/pactl\""))))))))
+ (home-page "https://github.com/akosmarton/papipes")
+ (synopsis "Pulseaudio client library for Go")
+ (description
+ "This is a Pulseaudio client library in Golang for creating virtual
+sinks and sources.")
+ (license license:expat))))
+
+(define-public go-github-com-mesilliac-pulse-simple
+ (let ((commit "75ac54e19fdff88f4fbd82f45125134b602230b0")
+ (revision "0"))
+ (package
+ (name "go-github-com-mesilliac-pulse-simple")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mesilliac/pulse-simple")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1awwczsa9yy99p035ckajqfs8m6mab0lz82mzlj1c5cj9lnmwplj"))))
+ (build-system go-build-system)
+ (propagated-inputs
+ `(("pkg-config" ,pkg-config)
+ ("pulseaudio" ,pulseaudio)))
+ (arguments
+ '(#:import-path "github.com/mesilliac/pulse-simple"))
+ (home-page "https://github.com/mesilliac/pulse-simple")
+ (synopsis "Cgo bindings to PulseAudio's Simple API")
+ (description
+ "This package provides Cgo bindings to PulseAudio's Simple API, to play
+or capture raw audio.")
+ (license license:expat))))
+
+(define-public go-github-com-pborman-getopt
+ (package
+ (name "go-github-com-pborman-getopt")
+ (version "2.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pborman/getopt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0sacv6g8cxfibxd3gnfjnzp7fynrnc4s2aaz5wbxivqqhvflc22l"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/pborman/getopt"))
+ (home-page "https://github.com/pborman/getopt")
+ (synopsis "Getopt style option parsing for Go")
+ (description
+ "This package provides traditional getopt processing for implementing
+programs that use traditional command lines.")
+ (license license:bsd-3)))
+
+(define-public go-go-uber-org-atomic
+ (package
+ (name "go-go-uber-org-atomic")
+ (version "1.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uber-go/atomic")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0yxvb5sixh76cl9j8dpa97gznj0p8pmg2cdw0ypfwhd3ipx9wph1"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "go.uber.org/atomic"))
+ (native-inputs
+ `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
+ ("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)))
+ (home-page "https://go.uber.org/atomic")
+ (synopsis "Wrapper types for sync/atomic")
+ (description
+ "This package provides simple wrappers for primitive types to enforce
+atomic access.")
+ (license license:expat)))
+
+(define-public go-go-uber-org-multierr
+ (package
+ (name "go-go-uber-org-multierr")
+ (version "1.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uber-go/multierr")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "162941s8f6a9x2w04qm4qa3zz0zylwag9149hywrj9ibp2nzcsqz"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "go.uber.org/multierr"))
+ (native-inputs
+ `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
+ (propagated-inputs
+ `(("go-go-uber-org-atomic" ,go-go-uber-org-atomic)))
+ (home-page "https://go.uber.org/multierr")
+ (synopsis "Error combination for Go")
+ (description
+ "@code{multierr} allows combining one or more Go errors together.")
+ (license license:expat)))
+
+(define-public go-golang-org-x-lint
+ (let ((commit "83fdc39ff7b56453e3793356bcff3070b9b96445")
+ (revision "0"))
+ (package
+ (name "go-golang-org-x-lint")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/lint")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ms3rs5hvpnm9bxbr5f9743i7hn2bbmqdmvzxq6nmi0f24ypv1l3"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "golang.org/x/lint"
+ #:tests? #f)) ;; TODO: Fix tests
+ (propagated-inputs
+ `(("go-golang-org-x-tools" ,go-golang-org-x-tools)))
+ (home-page "https://golang.org/x/lint")
+ (synopsis "Linter for Go source code")
+ (description
+ "This is a linter for Go source code. Unlike gofmt, it doesn't
+reformat the source code, it only prints out style mistakes.")
+ (license license:bsd-3))))
+
+(define-public go-github-com-kisielk-gotool
+ (package
+ (name "go-github-com-kisielk-gotool")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kisielk/gotool")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/kisielk/gotool"))
+ (home-page "https://github.com/kisielk/gotool")
+ (synopsis "Go library of utility functions")
+ (description
+ "This package contains utility functions used to implement the standard
+@code{cmd/go} tool, provided as a convenience to developers who want to write
+tools with similar semantics.")
+ (license license:expat)))
+
+(define-public go-honnef-co-go-tools
+ (package
+ (name "go-honnef-co-go-tools")
+ (version "0.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dominikh/go-tools")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17li8jbw3cpn59kpcl3j3r2an4wkx3fc81xn0j4xgbjpkxh9493n"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "honnef.co/go/tools"
+ #:tests? #f
+ ;; Source-only package
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build))))
+ (propagated-inputs
+ `(("go-golang-org-x-tools" ,go-golang-org-x-tools)
+ ("go-github-com-kisielk-gotool",go-github-com-kisielk-gotool)
+ ("go-github-com-burntsushi-toml" ,go-github-com-burntsushi-toml)))
+ (home-page "https://honnef.co/go/tools")
+ (synopsis "Staticcheck advanced Go linter")
+ (description
+ "Staticcheck is a state of the art linter for the Go programming language.
+Using static analysis, it finds bugs and performance issues, offers
+simplifications, and enforces style rules.")
+ (license license:expat)))
+
+(define-public go-go-uber-org-zap
+ (package
+ (name "go-go-uber-org-zap")
+ (version "1.16.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uber-go/zap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05ix5wg1r8pgi7fb6084lg4x7mrkvzkh1nxa7zj337w5b9xj0myr"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "go.uber.org/zap"
+ #:tests? #f)) ; TODO: Fix tests
+ (native-inputs
+ `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
+ ("go-golang-org-x-lint" ,go-golang-org-x-lint)
+ ("go-honnef-co-go-tools" ,go-honnef-co-go-tools)))
+ (propagated-inputs
+ `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
+ ("go-go-uber-org-atomic" ,go-go-uber-org-atomic)
+ ("go-go-uber-org-multierr" ,go-go-uber-org-multierr)
+ ("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2)))
+ (home-page "https://go.uber.org/zap")
+ (synopsis "Logging library for Go")
+ (description
+ "This package provides a library for fast, structured, leveled logging in
+Go.")
+ (license license:expat)))