summaryrefslogtreecommitdiff
path: root/gnu/packages/golang-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/golang-xyz.scm')
-rw-r--r--gnu/packages/golang-xyz.scm460
1 files changed, 418 insertions, 42 deletions
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index fcb352148c..0b869b39e3 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021 raingloom <raingloom@riseup.net>
;;; Copyright © 2021, 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2022 (unmatched-parenthesis <paren@disroot.org>
;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
@@ -32,8 +33,9 @@
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
-;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
+;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -60,11 +62,13 @@
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto)
+ #:use-module (gnu packages golang-web)
#:use-module (gnu packages linux)
#:use-module (gnu packages specifications))
@@ -80,6 +84,36 @@
;;; Libraries:
;;;
+(define-public go-bazil-org-fuse
+ (package
+ (name "go-bazil-org-fuse")
+ (version "0.0.0-20200117225306-7b5117fecadc")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bazil/fuse")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bw2lp1nijpqp729k808xkhwmb8nn7igsv51hvv9jw74q805qg2f"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; Tests require root access to mount file system.
+ #:tests? #f
+ #:go go-1.19
+ #:import-path "bazil.org/fuse"))
+ (propagated-inputs
+ (list go-github-com-tv42-httpunix go-golang-org-x-sys))
+ (home-page "https://bazil.org/fuse")
+ (synopsis "FUSE filesystems in Golang")
+ (description
+ "Package fuse enables writing FUSE file systems. It is a from-scratch
+implementation of the kernel-userspace communication protocol, and does not
+use the C library from the project called FUSE.")
+ (license (list license:bsd-2 license:bsd-3 license:hpnd))))
+
(define-public go-code-cloudfoundry-org-bytefmt
(package
(name "go-code-cloudfoundry-org-bytefmt")
@@ -111,6 +145,127 @@
a human-readable byte format.")
(license license:asl2.0)))
+(define-public go-git-sr-ht-emersion-go-scfg
+ (package
+ (name "go-git-sr-ht-emersion-go-scfg")
+ (version "0.0.0-20211215104734-c2c7a15d6c99")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/go-scfg")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02gn8hz8zfv8y0krysx2wv951gw8hmhdfqf1ysidwm7i293365w4"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "git.sr.ht/~emersion/go-scfg"))
+ (propagated-inputs
+ (list go-github-com-google-shlex
+ go-github-com-davecgh-go-spew))
+ (home-page "https://git.sr.ht/~emersion/go-scfg")
+ (synopsis "Go library for simple configuration file format")
+ (description
+ "Package go-scfg parses scfg files.")
+ (license license:expat)))
+
+(define-public go-git-sr-ht-emersion-go-sqlite3-fts5
+ (package
+ (name "go-git-sr-ht-emersion-go-sqlite3-fts5")
+ (version "0.0.0-20240124102820-f3a72e8b79b1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1plbfb1z0y3gprddwvp4n61r0cacpp7cjn3abq00xhac5vdvig0v"))))
+ (build-system go-build-system)
+ ;; XXX: fts5.c, fts5.h, generate.sh, sqlite3.h and sqlite3ext.h are
+ ;; obtained from
+ ;; <https://www.sqlite.org/2023/sqlite-preprocessed-3440000.zip>, check if
+ ;; they may be sourced from sqlite package.
+ (arguments
+ (list
+ #:go go-1.21
+ #:import-path "git.sr.ht/~emersion/go-sqlite3-fts5"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-flags
+ (lambda _
+ ;; FIXME: Find out why it's failing without these flags:
+ ;; src/git.sr.ht/~emersion/go-sqlite3-fts5/internal/internal.go:13:
+ ;; undefined reference to `sqlite3_auto_extension'collect2:
+ ;; error: ld returned 1 exit status
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files"))))))
+ (propagated-inputs
+ (list go-github-com-mattn-go-sqlite3))
+ (home-page "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (synopsis "FTS5 extension for go-sqlite3")
+ (description
+ "Standalone FTS5 extension for
+@@url{https://github.com/mattn/go-sqlite3,go-sqlite3}, that provides full-text
+search functionality to database applications.")
+ (license license:expat)))
+
+(define-public go-git-sr-ht-sircmpwn-getopt
+ (package
+ (name "go-git-sr-ht-sircmpwn-getopt")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~sircmpwn/getopt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0f9rammnmhaz21qkmz7qf76r8jlzi323g05ps3j7gwrxlw7442a6"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "git.sr.ht/~sircmpwn/getopt"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://git.sr.ht/~sircmpwn/getopt")
+ (synopsis "POSIX getopt for Go")
+ (description
+ "This package provides a POSIX-compatible implementation of
+@code{getopt} for Go.")
+ (license license:bsd-3)))
+
+(define-public go-git-sr-ht-sircmpwn-go-bare
+ (package
+ (name "go-git-sr-ht-sircmpwn-go-bare")
+ (version "0.0.0-20210406120253-ab86bc2846d9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~sircmpwn/go-bare")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zh36qppk8lscd8mysy0anm2vw5c74c10f4qvhd541wxm06di928"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "git.sr.ht/~sircmpwn/go-bare"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-git-sr-ht-sircmpwn-getopt))
+ (home-page "https://git.sr.ht/~sircmpwn/go-bare")
+ (synopsis "Implementation of the BARE message format")
+ (description
+ "This package provides an implementation of the @acronym{BARE, Binary
+Application Record Encoding} https://baremessages.org/ message format for
+Golang.")
+ (license license:asl2.0)))
+
(define-public go-github-com-a8m-envsubst
(package
(name "go-github-com-a8m-envsubst")
@@ -1231,6 +1386,61 @@ interfaces to back that API. Packages in the Go ecosystem can depend on it,
while callers can implement logging with whatever backend is appropriate.")
(license license:asl2.0)))
+(define-public go-github-com-go-task-slim-sprig
+ (let ((commit "afa1e2071829e4db655eb448d6c7c16eb0bc5766")
+ (revision "0"))
+ (package
+ (name "go-github-com-go-task-slim-sprig")
+ (version (git-version "2.20.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-task/slim-sprig")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1185y8qygv8gb3wpghx5d945wq68j4dbaiffq3h0dh453g4h1w7a"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/go-task/slim-sprig"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-failing-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file
+ (string-append "src/" import-path "/network_test.go")))))))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/go-task/slim-sprig")
+ (synopsis "Various useful template functions for Go")
+ (description
+ "Sprig provides over 100 functions that extend the Go template system.
+Slim-Sprig is a fork of Sprig that removes all external dependencies to make
+the library more lightweight.")
+ (license license:expat))))
+
+(define-public go-github-com-go-task-slim-sprig-v3
+ (package
+ (inherit go-github-com-go-task-slim-sprig)
+ (name "go-github-com-go-task-slim-sprig-v3")
+ (version "3.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-task/slim-sprig")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1h6m9n8w6yk0fp1kpk574kac6l3ibkh71myjakvns1nmqphb085w"))))
+ (build-system go-build-system)
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-go-task-slim-sprig)
+ ((#:import-path _) "github.com/go-task/slim-sprig/v3")))))
+
(define-public go-github-com-gobwas-glob
(package
(name "go-github-com-gobwas-glob")
@@ -2167,7 +2377,7 @@ the @code{cpan} module @code{Parse::CommandLine}.")
(define-public go-github-com-mattn-go-sqlite3
(package
(name "go-github-com-mattn-go-sqlite3")
- (version "1.14.6")
+ (version "1.14.22")
(source
(origin
(method git-fetch)
@@ -2176,10 +2386,11 @@ the @code{cpan} module @code{Parse::CommandLine}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "04anvqkc37mmc3z1dy4xfa6cas67zlxnnab0ywii7sylk864mhxz"))))
+ (base32 "05fcdh6likz0hkvxnrkz3r3l5gzxfjh93w5015m9hs1wi6qpdqyb"))))
(build-system go-build-system)
(arguments
(list
+ #:go go-1.19
#:import-path "github.com/mattn/go-sqlite3"))
(home-page "https://github.com/mattn/go-sqlite3")
(synopsis "Sqlite3 driver for Go")
@@ -2212,6 +2423,34 @@ the @code{cpan} module @code{Parse::CommandLine}.")
other directories. It is optimized for filewalking.")
(license license:expat)))
+(define-public go-github-com-mgutz-ansi
+ (let ((commit "9520e82c474b0a04dd04f8a40959027271bab992")
+ (revision "0"))
+ (package
+ (name "go-github-com-mgutz-ansi")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/mgutz/ansi")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/mgutz/ansi"))
+ (propagated-inputs
+ (list go-github-com-mattn-go-isatty go-github-com-mattn-go-colorable))
+ (home-page "https://github.com/mgutz/ansi")
+ (synopsis "Small, fast library to create ANSI colored strings and codes")
+ (description
+ "This package provides @code{ansi}, a Go module that can generate ANSI
+colored strings.")
+ (license license:expat))))
+
(define-public go-github-com-miekg-dns
(package
(name "go-github-com-miekg-dns")
@@ -2426,6 +2665,95 @@ command line flags, config files, and default struct values.")
multibase} (self identifying base encodings) in Go.")
(license license:expat)))
+(define-public go-github-com-msteinert-pam
+ (package
+ (name "go-github-com-msteinert-pam")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/msteinert/pam")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qnr0zxyxny85andq3cbj90clmz2609j8z9mp0zvdyxiwryfhyhj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; To run the full suite, the tests must be run as the root user.
+ #:tests? #f
+ #:go go-1.20
+ #:import-path "github.com/msteinert/pam"))
+ (propagated-inputs
+ (list go-golang-org-x-term
+ ;; For header files, otherwise it needs to be added as an input in
+ ;; final package to prevent build failure:
+ ;; ../../../github.com/msteinert/pam/transaction.go:7:10: fatal
+ ;; error: security/pam_appl.h: No such file or directory
+ linux-pam))
+ (home-page "https://github.com/msteinert/pam")
+ (synopsis "Golang wrapper module for the PAM API")
+ (description
+ "This package provides a wrapper for the @acronym{Pluggable
+Authentication Modules, PAM} application API.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-msteinert-pam-v2
+ (package
+ (inherit go-github-com-msteinert-pam)
+ (name "go-github-com-msteinert-pam-v2")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/msteinert/pam")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1h02dcx00vgcsxgl5sly82dbixk8cimjb10q5p405bf4fz8z7q6k"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-msteinert-pam)
+ ((#:import-path _ "github.com/msteinert/pam")
+ "github.com/msteinert/pam/v2")))))
+
+(define-public go-github-com-multiformats-go-multicodec
+ (package
+ (name "go-github-com-multiformats-go-multicodec")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/multiformats/go-multicodec")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vyc85aa9k644l9m3safiz7kk8mm84jclridsp0qnxfj2kcqgipd"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.19
+ #:import-path "github.com/multiformats/go-multicodec"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-multibase-specs
+ (lambda* (#:key import-path #:allow-other-keys)
+ (copy-recursively
+ (string-append #$(this-package-native-input
+ "specification-multicodec")
+ "/share/multicodec/")
+ (string-append "src/" import-path "/spec/multicodec/")))))))
+ (native-inputs
+ (list specification-multicodec))
+ (home-page "https://github.com/multiformats/go-multicodec")
+ (synopsis "Golang constants for the multicodec table")
+ (description
+ "Package multicodec exposes the multicodec table as Go constants.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public go-github-com-multiformats-go-varint
(package
(name "go-github-com-multiformats-go-varint")
@@ -2515,7 +2843,11 @@ very fast, and tries to be entropy pool friendly.")
(sha256
(base32 "1kl9l08aas544627zmhkgp843qx94sxs4inxm20nw1hx7gp79dz0"))))
(build-system go-build-system)
- (arguments '(#:import-path "github.com/nbrownus/go-metrics-prometheus"))
+ (arguments
+ (list
+ ;; The project looks abandoned, tests failed with a new go-metrics.
+ #:tests? #f
+ #:import-path "github.com/nbrownus/go-metrics-prometheus"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
@@ -2705,35 +3037,57 @@ processes.")
on top of the standard library @code{flag} package.")
(license license:bsd-3)))
+(define-public go-github-com-pion-logging
+ (package
+ (name "go-github-com-pion-logging")
+ (version "0.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pion/logging/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11ay8c15xk3pv7y9nd80szk3mci480x67yqlgb10vswrz4h4mx3v"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/pion/logging"))
+ (home-page "https://github.com/pion/logging/")
+ (synopsis "Logging library for Golang projects")
+ (description
+"This package provides a logging library used by @url{https://github.com/pion,
+Pion}.")
+ (license license:expat)))
+
(define-public go-github-com-prometheus-client-model
- (let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
- (revision "2"))
- (package
- (name "go-github-com-prometheus-client-model")
- (version (git-version "0.0.2" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/prometheus/client_model")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/prometheus/client_model"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- ;; Source-only package
- (delete 'build))))
- (propagated-inputs
- (list go-github-com-golang-protobuf-proto))
- (synopsis "Data model artifacts for Prometheus")
- (description "This package provides data model artifacts for Prometheus.")
- (home-page "https://github.com/prometheus/client_model")
- (license license:asl2.0))))
+ (package
+ (name "go-github-com-prometheus-client-model")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/client_model")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pl9i969jx5vkhm8vd5vb8yrifv37aw6h8mjg04820pw0ygfbigy"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/prometheus/client_model"
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf-proto))
+ (synopsis "Data model artifacts for Prometheus")
+ (description "This package provides data model artifacts for Prometheus.")
+ (home-page "https://github.com/prometheus/client_model")
+ (license license:asl2.0)))
(define-public go-github-com-rcrowley-go-metrics
(let ((commit "cac0b30c2563378d434b5af411844adff8e32960")
@@ -3004,6 +3358,36 @@ well as a program to generate applications and command files.")
(home-page "https://github.com/stathat/go")
(license license:expat))))
+(define-public go-github-com-syndtr-goleveldb-leveldb
+ (package
+ (name "go-github-com-syndtr-goleveldb-leveldb")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/syndtr/goleveldb")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "042k0gbzs5waqpxmd7nv5h93mlva861s66c3s9gfg1fym5dx4vmd"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.21
+ #:import-path "github.com/syndtr/goleveldb/leveldb"
+ #:unpack-path "github.com/syndtr/goleveldb"))
+ (propagated-inputs
+ (list go-github-com-onsi-gomega
+ go-github-com-onsi-ginkgo
+ go-github-com-golang-snappy))
+ (home-page "https://github.com/syndtr/goleveldb")
+ (synopsis "LevelDB implementation in Go")
+ (description
+ "This package provides a Go implementation of the LevelDB key/value
+storage system.")
+ (license license:bsd-2)))
+
(define-public go-github-com-tklauser-go-sysconf
(package
(name "go-github-com-tklauser-go-sysconf")
@@ -3188,7 +3572,7 @@ similar string with weeks or days too.")
(define-public go-go-uber-org-atomic
(package
(name "go-go-uber-org-atomic")
- (version "1.8.0")
+ (version "1.11.0")
(source
(origin
(method git-fetch)
@@ -3197,18 +3581,10 @@ similar string with weeks or days too.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0grswsk7nkf7zmmychf6aj6032shyag1kgs6zf7qwxyn55dym1v8"))))
+ (base32 "1jdp4gfv9jx7dd066wzj7cj6wsk7fb5q04is42xn2wyp80sw5k3p"))))
(build-system go-build-system)
(arguments
(list
- ;; XXX: Disable failing tests on non-x86-64 architecture, see
- ;; <https://github.com/uber-go/atomic/issues/164>.
- ;;
- ;; go.uber.org/atomic/uintptr_test.go:72:30: cannot convert
- ;; math.MaxUint64 (untyped int constant 18446744073709551615) to type
- ;; uintptr
- #:tests? (and (not (%current-target-system))
- (target-x86-64?))
#:import-path "go.uber.org/atomic"))
(native-inputs
(list go-github-com-stretchr-testify go-github-com-davecgh-go-spew))