gnu: libretro-lowresnx: Update to 1.2.
[jackhill/guix/guix.git] / gnu / packages / golang.scm
index 849227d..9e0175e 100644 (file)
@@ -1,5 +1,5 @@
 ;;; 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>
@@ -24,6 +24,7 @@
 ;;; 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)
@@ -2097,7 +2099,7 @@ application's http.Handlers.")
 (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)
@@ -2107,17 +2109,16 @@ application's http.Handlers.")
        (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
@@ -3964,7 +3965,7 @@ without requiring a real database connection.")
     (home-page "https://github.com/go-sql-driver/mysql")
     (synopsis "MySQL driver for golang")
     (description
-     "This is a pure Go implementaton of the MySQL API, compatible with
+     "This is a pure Go implementation of the MySQL API, compatible with
 golang's database/sql package.")
     (license license:mpl2.0)))
 
@@ -5503,7 +5504,7 @@ the parse trees produced by the html package.")
     (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")
@@ -5826,7 +5827,7 @@ which produce colorized output using github.com/fatih/color.")
     (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
@@ -6773,3 +6774,262 @@ compressed streams in 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)))