diff options
author | Sharlatan Hellseher <sharlatanus@gmail.com> | 2025-01-26 20:55:06 +0000 |
---|---|---|
committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2025-01-26 20:55:06 +0000 |
commit | 75437dbb7695bf336e349796f075df06662b130c (patch) | |
tree | f9be05fb167d6405297f9f5db1196c73b9795edc /gnu/packages/golang-xyz.scm | |
parent | 55859a28cc1deeddb2d7e46c3a4579290029501b (diff) | |
parent | 9e2de68cf8aa5ac590ae3fca4fe90ac1b91bfa8a (diff) |
Merge remote-tracking branch 'origin/go-team'
Change-Id: I3672a7dc248a41b1a83e4c488523f62cf1806710
Diffstat (limited to 'gnu/packages/golang-xyz.scm')
-rw-r--r-- | gnu/packages/golang-xyz.scm | 9560 |
1 files changed, 9195 insertions, 365 deletions
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 72216ae2a4..60321ace58 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -1,36 +1,41 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017-2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> +;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018, 2020 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> +;;; Copyright © 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2021 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2019-2021 Martin Becze <mjbecze@riseup.net> -;;; Copyright © 2019-2022, 2024 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019-2024 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; Copyright © 2020, 2021 raingloom <raingloom@riseup.net> ;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2021 Collin J. Doering <collin@rekahsoft.ca> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guix Together <jgart@dismail.de> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> -;;; Copyright © 2021 raingloom <raingloom@riseup.net> -;;; Copyright © 2021, 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com> +;;; Copyright © 2021, 2023-2025 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 © 2022 JOULAUD François <Francois.JOULAUD@radiofrance.com> ;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la> ;;; Copyright © 2022 kiasoc5 <kiasoc5@disroot.org> ;;; Copyright © 2023 Benjamin <benjamin@uvy.fr> +;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com> ;;; Copyright © 2023 Fries <fries1234@protonmail.com> ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> ;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com> @@ -46,10 +51,11 @@ ;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info> ;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email> ;;; Copyright © 2024 Luis Higino <luishenriquegh2701@gmail.com> +;;; Copyright © 2024 Simen Endsjø <contact@simendsjo.me> ;;; Copyright © 2024 Spencer Peters <spencerpeters@protonmail.com> ;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com> ;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com> -;;; Copyright © 2024 Simen Endsjø <contact@simendsjo.me> +;;; Copyright © 2024 Roman Scherer <roman@burningswell.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -78,6 +84,7 @@ #:use-module (gnu packages cmake) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) + #:use-module (gnu packages glib) #:use-module (gnu packages golang) #:use-module (gnu packages golang-build) #:use-module (gnu packages golang-check) @@ -85,6 +92,7 @@ #:use-module (gnu packages golang-crypto) #:use-module (gnu packages golang-maths) #:use-module (gnu packages golang-web) + #:use-module (gnu packages libedit) #:use-module (gnu packages linux) #:use-module (gnu packages specifications) #:use-module (gnu packages xdisorg) @@ -242,6 +250,37 @@ use the C library from the project called FUSE.") a human-readable byte format.") (license license:asl2.0))) +(define-public go-dario-cat-mergo + (package + (name "go-dario-cat-mergo") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/darccio/mergo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0v12vc9bmqq89k4y60a8ykmv85hpa7nh73sn9b7ars143pxvmhf1")))) + (build-system go-build-system) + (arguments + (list + #:import-path "dario.cat/mergo")) + (native-inputs + (list go-gopkg-in-yaml-v3)) + (home-page "https://github.com/darccio/mergo") + (synopsis "Helper to merge structs and maps in Golang") + (description + "Helper to merge structs and maps in Golang. Useful for configuration +default values, avoiding messy if-statements. + +Mergo merges same-type structs and maps by setting default values in +zero-value fields. Mergo won't merge unexported (private) fields. It will do +recursively any exported one. It also won't merge structs inside +maps (because they are not addressable using Go reflection).") + (license license:bsd-3))) + (define-public go-git-sr-ht-emersion-go-scfg (package (name "go-git-sr-ht-emersion-go-scfg") @@ -335,6 +374,35 @@ annotations on struct fields. It came as a spin-off from commands.") (license license:expat))) +(define-public go-git-sr-ht-rockorager-tcell-term + (package + (name "go-git-sr-ht-rockorager-tcell-term") + (version "0.10.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~rockorager/tcell-term") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1z64yzr2l5j5r5rqi89jk4madn3ak8hw95lva5ra7gnlyhh2vs05")))) + (build-system go-build-system) + (arguments + (list #:import-path "git.sr.ht/~rockorager/tcell-term")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-creack-pty + go-github-com-gdamore-tcell-v2 + go-github-com-mattn-go-runewidth)) + (home-page "https://git.sr.ht/~rockorager/tcell-term") + (synopsis "Terminal widget for @code{tcell}") + (description + "This package provides a virtual terminal widget for the @code{tcell} +Go library.") + (license license:expat))) + (define-public go-git-sr-ht-rockorager-vaxis (package (name "go-git-sr-ht-rockorager-vaxis") @@ -539,6 +607,82 @@ XDG defined locations instead of hardcoding paths. The package also includes the locations of well known user directories.") (license license:expat))) +(define-public go-github-com-agext-levenshtein + (package + (name "go-github-com-agext-levenshtein") + (version "1.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/agext/levenshtein") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0a26c8pp9h5w66bhd9vb6lpvmhp30mz46pnh3a8vrjx50givb2lw")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/agext/levenshtein")) + (home-page "https://github.com/agext/levenshtein") + (synopsis "Calculating the Levenshtein distance between two strings in Go") + (description + "Package levenshtein implements distance and similarity metrics for +strings, based on the Levenshtein measure.") + (license license:asl2.0))) + +(define-public go-github-com-agnivade-levenshtein + (package + (name "go-github-com-agnivade-levenshtein") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/agnivade/levenshtein") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vg9aj9k4qv96nqqp261qrm9g7kj0axqhv3mm9qvw932l72943hn")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/agnivade/levenshtein")) + (native-inputs ; for tests only + (list go-github-com-arbovm-levenshtein + go-github-com-dgryski-trifles)) + (home-page "https://github.com/agnivade/levenshtein") + (synopsis "Golang implementation to calculate Levenshtein Distance") + (description + "This package implements a functionality to calculate +@url{https://en.wikipedia.org/wiki/Levenshtein_distance, Levenshtein +Distance}.") + (license license:expat))) + +(define-public go-github-com-agonopol-go-stem + (package + (name "go-github-com-agonopol-go-stem") + (version "0.0.0-20150630113328-985885018250") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/agonopol/go-stem") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "128qv5s2g13akbsclyi6kyvx52gx20wz81yxkd3qnlfh0f5fqjd0")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/agonopol/go-stem")) + (home-page "https://github.com/agonopol/go-stem") + (synopsis "Word Stemming in Golang") + (description + "This package provides a implementation of the porter stemming algorithm: +http://tartarus.org/~martin/PorterStemmer/index.html.") + (license license:expat))) + (define-public go-github-com-alecthomas-chroma (package (name "go-github-com-alecthomas-chroma") @@ -560,7 +704,14 @@ the locations of well known user directories.") (arguments `(#:import-path "github.com/alecthomas/chroma")) (native-inputs - (list go-github-com-dlclark-regexp2 + (list go-github-com-alecthomas-kong + go-github-com-alecthomas-kong-hcl + go-github-com-dlclark-regexp2 + go-github-com-gorilla-csrf + go-github-com-gorilla-handlers + go-github-com-gorilla-mux + go-github-com-mattn-go-colorable + go-github-com-mattn-go-isatty go-github-com-stretchr-testify)) (home-page "https://github.com/alecthomas/chroma/") (synopsis "General purpose syntax highlighter in pure Go") @@ -689,7 +840,7 @@ be stripped.") (define-public go-github-com-alecthomas-kong (package (name "go-github-com-alecthomas-kong") - (version "0.9.0") + (version "1.5.1") (source (origin (method git-fetch) @@ -698,7 +849,7 @@ be stripped.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0a9arf30h84ll8k612jh50c3vjmvdfj6i7dbvfnw3dalm6dn2aan")))) + (base32 "1b9yns6rgmxjb40rlm6v2pybi25my0760vvp6666vx5da7yg4dg9")))) (build-system go-build-system) (arguments (list @@ -716,6 +867,44 @@ be stripped.") with as little developer effort as possible.") (license license:expat))) +(define-public go-github-com-alecthomas-kong-hcl + (package + (name "go-github-com-alecthomas-kong-hcl") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alecthomas/kong-hcl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q383705kavn23ay4vzr662x9lsl2xc1mv5irhcy0cazjjc7jzp2")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/alecthomas/kong-hcl/v2 + (delete-file-recursively "v2"))))) + (build-system go-build-system) + (arguments + (list + #:test-flags #~(list "-skip" "TestHCL/FromResolver") + #:import-path "github.com/alecthomas/kong-hcl")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-alecthomas-kong + go-github-com-hashicorp-hcl + go-github-com-pkg-errors)) + (home-page "https://github.com/alecthomas/kong-hcl") + (synopsis "Kong configuration loader for HCL") + (description + "This package implements functionality to map HCL or JSON fragment into +Golang structs.") + (license license:expat))) + (define-public go-github-com-alecthomas-participle-v2 (package (name "go-github-com-alecthomas-participle-v2") @@ -734,7 +923,8 @@ with as little developer effort as possible.") (list #:import-path "github.com/alecthomas/participle/v2")) (native-inputs - (list go-github-com-alecthomas-assert-v2)) + (list go-github-com-alecthomas-assert-v2 + go-github-com-alecthomas-kong)) ; for CLI (home-page "https://github.com/alecthomas/participle") (synopsis "Parser library for Go") (description @@ -830,6 +1020,32 @@ newlines until a non-newline.") "This library provides unit multipliers and functions for Go.") (license license:expat)))) +(define-public go-github-com-alsm-ioprogress + (package + (name "go-github-com-alsm-ioprogress") + (version "0.0.0-20170412085706-063c3725f436") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alsm/ioprogress") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/alsm/ioprogress")) + (home-page "https://github.com/alsm/ioprogress") + (synopsis "Textual progress bars in Go") + (description + "@code{ioprogress} is a Go library with implementations of +@code{io.Reader} and @code{io.Writer} that draws progress bars. The primary +use case for these are for command-line applications but alternate progress +bar writers can be supplied for alternate environments.") + (license license:expat))) + (define-public go-github-com-andreasbriese-bbloom (package (name "go-github-com-andreasbriese-bbloom") @@ -879,6 +1095,264 @@ JSONMarshal/JSONUnmarshal to store/reload the Bloom filter.") commands.") (license license:expat))) +(define-public go-github-com-antihax-optional + (package + (name "go-github-com-antihax-optional") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/antihax/optional") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ix08vl49qxr58rc6201cl97g1yznhhkwvqldslawind99js4rj0")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/antihax/optional")) + (home-page "https://github.com/antihax/optional") + (synopsis "Optional parameters for Golang") + (description + "This package implements optimal parameters for data-types.") + (license license:expat))) + +(define-public go-github-com-apparentlymart-go-dump + (package + (name "go-github-com-apparentlymart-go-dump") + (version "0.0.0-20190214190832-042adf3cf4a0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apparentlymart/go-dump") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1yqc50v82za54j2yy3ln7jzx983scb5gbh195wb6vmvqj18q696q")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/apparentlymart/go-dump")) + (home-page "https://github.com/apparentlymart/go-dump") + (synopsis "Utility for formatting Go values in a pretty-printed way") + (description + "This package implements a functionality for generating pretty-printed +dumps of Go values.") + (license license:mpl2.0))) + +(define-public go-github-com-apparentlymart-go-textseg-v9 + (package + (name "go-github-com-apparentlymart-go-textseg-v9") + (version "9.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apparentlymart/go-textseg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pmnl674ksbizkdilqz1j44djws9dj23pc6bpbjma8jfjq6b2zax")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/apparentlymart/go-textseg/v9" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-submodule + (lambda* (#:key import-path #:allow-other-keys #:rest args) + (when (false-if-exception + (stat (string-append "src/" import-path "/autoversion"))) + (delete-file-recursively + (string-append "src/" import-path "/autoversion")))))))) + (home-page "https://github.com/apparentlymart/go-textseg") + (synopsis "Go implementation of Unicode Text Segmentation") + (description + "This package provides an implementation of the Unicode Text Segmentation +specification for Go. Specifically, it currently includes only the grapheme +cluster segmentation algorithm.") + ;; Project is released under Expat terms. Some parts use Unicode and + ;; ASL2.0 licenses. + (license (list license:expat license:unicode license:asl2.0)))) + +(define-public go-github-com-apparentlymart-go-textseg-v10 + (package + (inherit go-github-com-apparentlymart-go-textseg-v9) + (name "go-github-com-apparentlymart-go-textseg-v10") + (version "10.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apparentlymart/go-textseg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jj3w8m2vz574s9lq0468f56kq348wm7xhvrac5yrqw1axg6hjxd")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-apparentlymart-go-textseg-v9) + ((#:import-path _) "github.com/apparentlymart/go-textseg/v10"))))) + +(define-public go-github-com-apparentlymart-go-textseg-v11 + (package + (inherit go-github-com-apparentlymart-go-textseg-v10) + (name "go-github-com-apparentlymart-go-textseg-v11") + (version "11.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apparentlymart/go-textseg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gyhj8vqpmxcd7zjq3myj6872fqf1si09dwbv03msp7hf4g976cx")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-apparentlymart-go-textseg-v10) + ((#:import-path _) "github.com/apparentlymart/go-textseg/v11"))))) + +(define-public go-github-com-apparentlymart-go-textseg-v12 + (package + (inherit go-github-com-apparentlymart-go-textseg-v11) + (name "go-github-com-apparentlymart-go-textseg-v12") + (version "12.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apparentlymart/go-textseg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1i8p4kkgx8yhxwzqmnpx8f87s0h27n7jrdhv78ydh6618512x5v9")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-apparentlymart-go-textseg-v11) + ((#:import-path _) "github.com/apparentlymart/go-textseg/v12"))))) + +(define-public go-github-com-apparentlymart-go-textseg-v13 + (package + (inherit go-github-com-apparentlymart-go-textseg-v12) + (name "go-github-com-apparentlymart-go-textseg-v13") + (version "13.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apparentlymart/go-textseg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gdgi0d52rq1xsdn9icc8lghn0f2q927cifmrlfxflf7bf21vism")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-apparentlymart-go-textseg-v12) + ((#:import-path _) "github.com/apparentlymart/go-textseg/v13"))))) + +(define-public go-github-com-apparentlymart-go-textseg-v15 + (package + (inherit go-github-com-apparentlymart-go-textseg-v13) + (name "go-github-com-apparentlymart-go-textseg-v15") + (version "15.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apparentlymart/go-textseg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bb7mxkxjhsp8kfwm26n0ds1mpwxxdpy4gndvyz26bqfm6v8vsa4")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-apparentlymart-go-textseg-v13) + ((#:import-path _) "github.com/apparentlymart/go-textseg/v15"))))) + +(define-public go-github-com-apparentlymart-go-textseg-v16 + (package + (inherit go-github-com-apparentlymart-go-textseg-v15) + (name "go-github-com-apparentlymart-go-textseg-v16") + (version "16.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apparentlymart/go-textseg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1j7vm09cd36wm4z986qz5am3rk242v52amcapwbdbkbgzx2kqfkm")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-apparentlymart-go-textseg-v15) + ((#:import-path _) "github.com/apparentlymart/go-textseg/v16"))))) + +(define-public go-github-com-apparentlymart-go-textseg-autoversion + (package + (name "go-github-com-apparentlymart-go-textseg-autoversion") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apparentlymart/go-textseg") + (commit (go-version->git-ref version #:subdir "autoversion")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1j7vm09cd36wm4z986qz5am3rk242v52amcapwbdbkbgzx2kqfkm")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/apparentlymart/go-textseg/autoversion" + #:unpack-path "github.com/apparentlymart/go-textseg")) + (propagated-inputs + (list go-github-com-apparentlymart-go-textseg-v9 + go-github-com-apparentlymart-go-textseg-v10 + go-github-com-apparentlymart-go-textseg-v11 + go-github-com-apparentlymart-go-textseg-v12 + go-github-com-apparentlymart-go-textseg-v13 + go-github-com-apparentlymart-go-textseg-v15)) + (home-page "https://github.com/apparentlymart/go-textseg") + (synopsis "Wrap go-textesg based on the Unicode Golang version") + (description + "This package is a wrapper around each of the the +Unicode-version-specific textseg implementations that selects an +implementation automatically based on the Unicode version of the Go standard +library that it's being built against.") + (license (list license:expat license:unicode license:asl2.0)))) + +(define-public go-github-com-arbovm-levenshtein + (package + (name "go-github-com-arbovm-levenshtein") + (version "0.0.0-20160628152529-48b4e1c0c4d0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arbovm/levenshtein") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0nmx2iip8xpnbmy6gvqpc9ikizr33dr40xgv746h0b0by8n7rv7y")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/arbovm/levenshtein")) + (home-page "https://github.com/arbovm/levenshtein") + (synopsis "Levenshtein Distance in Golang") + (description + "This package implements a functionality to calculate the +@url{http://en.wikipedia.org/wiki/Levenshtein_distance, Levenshtein +Distance}.") + (license license:bsd-3))) + (define-public go-github-com-arceliar-phony (package (name "go-github-com-arceliar-phony") @@ -1228,16 +1702,8 @@ can use the realtime clock while tests can use the mock clock.") (build-system go-build-system) (arguments (list - #:import-path "github.com/beorn7/perks" - #:phases - #~(modify-phases %standard-phases - ;; XXX: Workaround for go-build-system's lack of Go modules support. - (delete 'build) - (replace 'check - (lambda* (#:key tests? import-path #:allow-other-keys) - (when tests? - (with-directory-excursion (string-append "src/" import-path) - (invoke "go" "test" "-v" "./...")))))))) + #:skip-build? #t + #:import-path "github.com/beorn7/perks")) (home-page "https://github.com/beorn7/perks") (synopsis "Compute approximate quantiles over an unbounded data stream") (description @@ -1246,6 +1712,32 @@ approximate quantiles over an unbounded data stream within low memory and CPU bounds.") (license license:expat))) +(define-public go-github-com-bgentry-speakeasy + (package + (name "go-github-com-bgentry-speakeasy") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bgentry/speakeasy") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pasgmb9gcchprc06fbn7yjgp6caz03j6pgj14mmr8bcx0zfq7ag")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/bgentry/speakeasy")) + (home-page "https://github.com/bgentry/speakeasy") + (synopsis "Reading password input without cgo") + (description + "This package provides cross-platform Golang helpers for taking user +input from the terminal while not echoing the input back (similar to +@code{getpasswd}). The package uses syscalls to avoid any dependence on cgo, +and is therefore compatible with cross-compiling.") + (license license:expat))) + (define-public go-github-com-bitly-go-hostpool (package (name "go-github-com-bitly-go-hostpool") @@ -1293,6 +1785,58 @@ robin or epsilon greedy mode, and unresponsive hosts are avoided.") information and periodically output metrics") (license license:expat))) +(define-public go-github-com-bits-and-blooms-bitset + (package + (name "go-github-com-bits-and-blooms-bitset") + (version "1.20.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bits-and-blooms/bitset") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1m1rk1bf6i1jnhjxm774i3rhg8n8s88a3n5pnhg5a9gf34y7r8az")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/bits-and-blooms/bitset")) + (home-page "https://github.com/bits-and-blooms/bitset") + (synopsis "Bitsets in Go") + (description + "This package provides a Go implementation of bitsets, which are a +mapping between non-negative integers and boolean values focused on efficient +space usage.") + (license license:bsd-3))) + +(define-public go-github-com-bits-and-blooms-bloom-v3 + (package + (name "go-github-com-bits-and-blooms-bloom-v3") + (version "3.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bits-and-blooms/bloom") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "022pyzjp862ysl30aj105i2xmapn400ambjh8h1dcyjy9c0f8agn")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/bits-and-blooms/bloom/v3")) + (propagated-inputs + (list go-github-com-bits-and-blooms-bitset + go-github-com-twmb-murmur3)) + (home-page "https://github.com/bits-and-blooms/bitset") + (synopsis "Bloom filters in Go") + (description + "This package provides a Go implementation of bloom filters, +based on murmurhash.") + (license license:bsd-2))) + (define-public go-github-com-blang-semver (package (name "go-github-com-blang-semver") @@ -1340,6 +1884,89 @@ information and periodically output metrics") (delete-file-recursively (string-append "src/" import-path "/examples"))))))))) +(define-public go-github-com-bmatcuk-doublestar + (package + (name "go-github-com-bmatcuk-doublestar") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bmatcuk/doublestar") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bk5bixl6rqa8znxghyp6zndbccx9kdyrymjahgyp6qsrp7rk144")))) + (build-system go-build-system) + (arguments + (list + ;; This test fails with Go 1.16. + #:test-flags #~(list "-skip" "TestMatch") + #:import-path "github.com/bmatcuk/doublestar")) + (home-page "https://github.com/bmatcuk/doublestar/") + (synopsis "Path pattern matching and globbing supporting doublestar") + (description + "@code{doublestar} is a Go implementation of path pattern +matching and globbing with support for \"doublestar\" patterns.") + (license license:expat))) + +;; For chezmoi-1.8.11 +(define-public go-github-com-bmatcuk-doublestar-v2 + (package + (inherit go-github-com-bmatcuk-doublestar) + (name "go-github-com-bmatcuk-doublestar-v2") + (version "2.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bmatcuk/doublestar") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09ma8a9rhs8dg527vjhdf3lsb6lajaq193m6ksssm2k3qajhpi94")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-bmatcuk-doublestar) + ((#:import-path _) "github.com/bmatcuk/doublestar/v2"))))) + +(define-public go-github-com-bmatcuk-doublestar-v3 + (package + (inherit go-github-com-bmatcuk-doublestar) + (name "go-github-com-bmatcuk-doublestar-v3") + (version "3.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bmatcuk/doublestar") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "011h07mlmscbxxjr3h30fjjb4dw3gb245nzczaq520r112xlidhj")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-bmatcuk-doublestar) + ((#:import-path _) "github.com/bmatcuk/doublestar/v3"))))) + +(define-public go-github-com-bmatcuk-doublestar-v4 + (package + (inherit go-github-com-bmatcuk-doublestar) + (name "go-github-com-bmatcuk-doublestar-v4") + (version "4.7.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bmatcuk/doublestar") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bvfxqkpl8bkfqxjxjgmz0gd4b4v6dxwrzxq2qzly0r9zrj1lfic")))) + (arguments + (list + #:import-path "github.com/bmatcuk/doublestar/v4")))) + (define-public go-github-com-bmizerany-perks-quantile (package (name "go-github-com-bmizerany-perks-quantile") @@ -1393,6 +2020,30 @@ project is to provide a simple, fast, and reliable database for projects that don't require a full database server such as Postgres or MySQL.") (license license:expat))) +(define-public go-github-com-bradfitz-gomemcache + (package + (name "go-github-com-bradfitz-gomemcache") + (version "0.0.0-20230905024940-24af94b03874") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bradfitz/gomemcache") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xhf5zphhilv1jiwsdf5f4b4g2jj8q3yhn2r83f52mpi9s8jp5db")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/bradfitz/gomemcache")) + (home-page "https://github.com/bradfitz/gomemcache") + (synopsis "Memcache client library in Go") + (description + "This is a memcache client library for the Go programming language.") + (license license:asl2.0))) + (define-public go-github-com-briandowns-spinner (package (name "go-github-com-briandowns-spinner") @@ -1425,6 +2076,100 @@ don't require a full database server such as Postgres or MySQL.") indicator to any terminal application.") (license license:asl2.0))) +(define-public go-github-com-btcsuite-btclog + (package + (name "go-github-com-btcsuite-btclog") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/btcsuite/btclog") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1aqpgb3bw1g5am2az4f1g1a54xii0axvxp0zymhyl8jdk6hhyyd8")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/btcsuite/btclog")) + (home-page "https://github.com/btcsuite/btclog") + (synopsis "Subsystem aware logger for Go") + (description + "Package @command{btclog} defines a logger interface and provides a +default implementation of a subsystem-aware leveled logger implementing the +same interface.") + (license license:isc))) + +(define-public go-github-com-btcsuite-btclog-v2 + (package + (inherit go-github-com-btcsuite-btclog) + (name "go-github-com-btcsuite-btclog-v2") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/btcsuite/btclog") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0v9zh39d35647g6m9b74l5z1ifbnk4chbglnbmj5ndzj9alzsc38")))) + (arguments + (list + #:import-path "github.com/btcsuite/btclog/v2" + #:unpack-path "github.com/btcsuite/btclog")))) + +(define-public go-github-com-buildkite-shellwords + (package + (name "go-github-com-buildkite-shellwords") + (version "0.0.0-20180315110454-59467a9b8e10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/buildkite/shellwords") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kx6wxbdznarmnifwzmxxcd86bgn27rwpfnw2y2gd0j8zg9g1682")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/buildkite/shellwords")) + (home-page "https://github.com/buildkite/shellwords") + (synopsis "Split command-line strings into words") + (description + "This package provides a golang library for splitting command-line +strings into words like a POSIX or Windows shell would.") + (license license:expat))) + +(define-public go-github-com-burntsushi-graphics-go + (package + (name "go-github-com-burntsushi-graphics-go") + (version "0.0.0-20160129215708-b43f31a4a966") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BurntSushi/graphics-go") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1084wkrj5l6j48s9lkh28h2zgmw8kp63ra1yw1nfpkf0f6hil3hn")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/BurntSushi/graphics-go" + #:phases + #~(modify-phases %standard-phases + (delete 'build)))) ; no go files in project's root + (home-page "https://github.com/BurntSushi/graphics-go") + (synopsis "Graphics library for the Golang") + (description + "This package provides a library to works with graphics.") + (license license:bsd-3))) + (define-public go-github-com-burntsushi-toml (package (name "go-github-com-burntsushi-toml") @@ -1441,15 +2186,7 @@ indicator to any terminal application.") (build-system go-build-system) (arguments (list - #:import-path "github.com/BurntSushi/toml" - #:phases - #~(modify-phases %standard-phases - ;; XXX: Replace when go-build-system supports nested path. - (replace 'check - (lambda* (#:key import-path tests? #:allow-other-keys) - (when tests? - (with-directory-excursion (string-append "src/" import-path) - (invoke "go" "test" "-v" "./...")))))))) + #:import-path "github.com/BurntSushi/toml")) (home-page "https://github.com/BurntSushi/toml") (synopsis "Toml parser and encoder for Go") (description @@ -1457,31 +2194,116 @@ indicator to any terminal application.") similar to Go's standard library @code{json} and @code{xml} package.") (license license:expat))) -;; XXX: This repository has been archived by the owner on Feb 21, 2018. It is -;; now read-only. -(define-public go-github-com-calmh-xdr +(define-public go-github-com-bytedance-sonic (package - (name "go-github-com-calmh-xdr") - (version "1.1.0") + (name "go-github-com-bytedance-sonic") + (version "1.12.6") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/calmh/xdr") + (url "https://github.com/bytedance/sonic") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "072wqdncz3nd4a3zkhvzzx1y3in1lm29wfvl0d8wrnqs5pyqh0mh")))) + (base32 "011hp6lvqvx4facxsmy6vya02g9q3rlnmxcii827sbf6bssy7wxp")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/bytedance/sonic/external_jsonlib_test + ;; - github.com/bytedance/sonic/fuzz + ;; - github.com/bytedance/sonic/generic_test + ;; - github.com/bytedance/sonic/loader + (for-each delete-file-recursively + (list "external_jsonlib_test" + "fuzz" + "generic_test" + "loader")))))) (build-system go-build-system) (arguments (list - #:import-path "github.com/calmh/xdr")) - (home-page "https://github.com/calmh/xdr") - (synopsis "XDR marshalling and unmarshalling") + #:import-path "github.com/bytedance/sonic")) + (native-inputs + (list go-github-com-davecgh-go-spew + go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-bytedance-sonic-loader + go-github-com-cloudwego-base64x + go-github-com-klauspost-cpuid-v2 + go-github-com-twitchyliquid64-golang-asm + go-golang-org-x-arch)) + (home-page "https://github.com/bytedance/sonic") + (synopsis "JSON serializing and deserializing library") (description - "XDR is an External Data Representation (XDR) -marshalling and unmarshalling library in Go. It uses code generation and not -reflection.") + "This package implements a functionality to serialize/deserialize JSON by +using JIT and SIMD approaches.") + ;; There some other licenses in "licenses" but all of them look like ASL + ;; compatible. + (license license:asl2.0))) + +(define-public go-github-com-bytedance-sonic-loader + (package + (name "go-github-com-bytedance-sonic-loader") + (version "0.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bytedance/sonic") + (commit (go-version->git-ref version + #:subdir "loader")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fyjq3hr4cmai2r06ppzil314bcqz416gd1zpw7lfp9h7mcwxwa4")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/bytedance/sonic/loader" + #:unpack-path "github.com/bytedance/sonic")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-cloudwego-iasm)) + (home-page "https://github.com/bytedance/sonic") + (synopsis "Function loader for Sonic Golang library") + (description + "This package provides functionality to load functions used in Sonic JSON +library.") + (license license:asl2.0))) + +(define-public go-github-com-c-bata-go-prompt + (package + (name "go-github-com-c-bata-go-prompt") + (version "0.2.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/c-bata/go-prompt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16hfb5xvgixn1anbsvazs8ihcrzyww0n8fddx10yiygqhsp07avz")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/c-bata/go-prompt")) + (propagated-inputs + (list go-github-com-mattn-go-colorable + go-github-com-mattn-go-runewidth + go-github-com-mattn-go-tty + go-github-com-pkg-term + go-golang-org-x-sys)) + (home-page "https://github.com/c-bata/go-prompt") + (synopsis "Interactive CLI prompts toolit") + (description + "This package provides a library for building powerful interactive +prompts inspired by +@url{https://github.com/jonathanslenders/python-prompt-toolkit, +python-prompt-toolkit}, making it easier to build cross-platform command line +tools using Go.") (license license:expat))) (define-public go-github-com-caarlos0-env @@ -1508,6 +2330,54 @@ reflection.") variables into structs.") (license license:expat))) +(define-public go-github-com-cention-sany-utf7 + (package + (name "go-github-com-cention-sany-utf7") + (version "0.0.0-20170124080048-26cad61bd60a") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cention-sany/utf7") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jy15ryfcln1iwchrksqyrnyfy41gisymm4f9sr1d73ja029bznm")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/cention-sany/utf7")) + (propagated-inputs (list go-golang-org-x-text)) + (home-page "https://github.com/cention-sany/utf7") + (synopsis "UTF-7 for Go") + (description + "The utf7 package provides support for the obsolete UTF-7 text +encoding in Go.") + (license license:bsd-3))) + +(define-public go-github-com-cespare-mph + (package + (name "go-github-com-cespare-mph") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cespare/mph") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mvd6bkvf3i3555kqkkr3k9jd4c25scjq4xad35sxpny8f72nbg1")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/cespare/mph")) + (home-page "https://github.com/cespare/mph") + (synopsis "Minimal perfect hashing in Go") + (description + "@code{mph} is a Go package that implements a minimal perfect hash table +over strings.") + (license license:expat))) + (define-public go-github-com-charlievieth-fastwalk (package (name "go-github-com-charlievieth-fastwalk") @@ -1570,6 +2440,126 @@ tools.") @@url{https://github.com/charmbracelet/bubbletea, Bubble Tea} applications.") (license license:expat))) +(define-public go-github-com-charmbracelet-bubbletea + (package + (name "go-github-com-charmbracelet-bubbletea") + (version "1.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/charmbracelet/bubbletea") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0g5pj40lsdkh2gwixlpg53ji7fajncj512xj0v1x3mk5grgbc2zr")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/charmbracelet/bubbletea" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-examples + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (for-each delete-file-recursively + '("examples" "tutorials"))))) + (add-before 'check 'fix-tests + (lambda _ + ;; XXX: The package requires + ;; "go-github-com-charmbracelet-x-ansi" version 0.4.5; with the + ;; newer version of "ansi", some "bubbletea" screen tests fail + ;; as "ansi" 0.5.2 handles escape sequences a little bit + ;; differently. + (substitute* "src/github.com/charmbracelet/bubbletea/screen_test.go" + (("x1b\\[0K") + "x1b[K") + (("x1b\\[2;0H") + "x1b[2;H"))))))) + (propagated-inputs + (list go-github-com-charmbracelet-lipgloss + go-github-com-charmbracelet-x-ansi + go-github-com-charmbracelet-x-term + go-github-com-erikgeiser-coninput + go-github-com-muesli-ansi + go-github-com-muesli-cancelreader + go-golang-org-x-sync + go-golang-org-x-sys)) + (home-page "https://github.com/charmbracelet/bubbletea") + (synopsis "Powerful little TUI framework") + (description + "Bubble Tea is a Go framework based on The Elm Architecture. It is +well-suited for simple and complex terminal applications, either inline, +full-window, or a mix of both.") + (license license:asl2.0))) + +(define-public go-github-com-charmbracelet-glamour + (package + (name "go-github-com-charmbracelet-glamour") + (version "0.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/charmbracelet/glamour") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "112clivb9nsxlaqvypwcidmk4dkszg7vglb4apia43rdqqj82s6k")))) + (build-system go-build-system) + (arguments + (list + #:embed-files #~(list ".*\\.xml") + #:import-path "github.com/charmbracelet/glamour")) + (propagated-inputs + (list go-github-com-alecthomas-chroma-v2 + go-github-com-charmbracelet-lipgloss + go-github-com-charmbracelet-x-ansi + go-github-com-charmbracelet-x-exp-golden + go-github-com-microcosm-cc-bluemonday + go-github-com-muesli-reflow + go-github-com-muesli-termenv + go-github-com-yuin-goldmark + go-github-com-yuin-goldmark-emoji + go-golang-org-x-term)) + (home-page "https://github.com/charmbracelet/glamour/") + (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 +glamorous default themes.") + (license license:expat))) + +(define-public go-github-com-charmbracelet-harmonica + (package + (name "go-github-com-charmbracelet-harmonica") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/charmbracelet/harmonica") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1aasg0c0xxhwav4ivm1mqmsqab6lk407xky8c19pb85r1hdbq0n7")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/charmbracelet/harmonica" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-examples + (lambda* (#:key import-path #:allow-other-keys) + (delete-file-recursively + (string-append "src/" import-path "/examples"))))))) + (home-page "https://github.com/charmbracelet/harmonica") + (synopsis "Simple, physics-based animation library") + (description + "A simple, efficient spring animation library for smooth, natural motion.") + (license license:expat))) + (define-public go-github-com-charmbracelet-lipgloss (package (name "go-github-com-charmbracelet-lipgloss") @@ -1586,7 +2576,13 @@ tools.") (build-system go-build-system) (arguments (list - #:import-path "github.com/charmbracelet/lipgloss")) + #:import-path "github.com/charmbracelet/lipgloss" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-examples + (lambda* (#:key import-path #:allow-other-keys) + (delete-file-recursively + (string-append "src/" import-path "/examples"))))))) (propagated-inputs (list go-github-com-aymanbagabas-go-udiff go-github-com-charmbracelet-x-ansi @@ -1599,10 +2595,40 @@ tools.") "Style definitions for nice terminal layouts. Built with TUIs in mind.") (license license:expat))) +(define-public go-github-com-charmbracelet-log + (package + (name "go-github-com-charmbracelet-log") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/charmbracelet/log") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1dljsz5h6pw9w396sy9na99c2pvi542b3r138lka7l0ifmzpxjw9")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/charmbracelet/log")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-charmbracelet-lipgloss + go-github-com-go-logfmt-logfmt + go-github-com-muesli-termenv + go-golang-org-x-exp)) + (home-page "https://github.com/charmbracelet/log") + (synopsis "Colorful Go logging library") + (description + "This package provides a minimal and colorful Go logging library.") + (license license:expat))) + (define-public go-github-com-charmbracelet-x-ansi (package (name "go-github-com-charmbracelet-x-ansi") - (version "0.5.2") + (version "0.6.0") (source (origin (method git-fetch) @@ -1612,7 +2638,7 @@ tools.") #:subdir "ansi")))) (file-name (git-file-name name version)) (sha256 - (base32 "016s67690dr3w3an6m24q6f4vrmwpk0qd4akvvh1dzpfyf4khxd4")))) + (base32 "0y76a1zqj2ccyqibh4xk47hyw8grwrf5j3qm2j0pzd2yn592dny5")))) (build-system go-build-system) (arguments (list @@ -1629,6 +2655,82 @@ tools.") ECMA-48} specs.") (license license:expat))) +(define-public go-github-com-charmbracelet-x-exp-golden + (package + (name "go-github-com-charmbracelet-x-exp-golden") + (version "0.0.0-20241121171228-5bc00623ea2f") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/charmbracelet/x") + (commit (go-version->git-ref version + #:subdir "exp/golden")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "016s67690dr3w3an6m24q6f4vrmwpk0qd4akvvh1dzpfyf4khxd4")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/charmbracelet/x/exp/golden" + #:unpack-path "github.com/charmbracelet/x/" + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda* (#:key import-path #:allow-other-keys) + ;; Tests need to write to that files. + (with-directory-excursion (string-append "src/" import-path) + (make-file-writable "testdata/TestRequireEqualUpdate.golden") + (make-file-writable "testdata/TestRequireEqualNoUpdate.golden")))) + (add-after 'check 'post-check + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + ;; Remove modified testdata just in case. + (delete-file-recursively "testdata"))))))) + (propagated-inputs + (list go-github-com-aymanbagabas-go-udiff)) + (home-page "https://github.com/charmbracelet/x") + (synopsis "Verify @code{.golden} file equality") + (description + "Golden files (@code{.golden}) contain the raw expected output of +tests,which can contain control codes and escape sequences. @code{golden} +package provides an API for comparing Golden files.") + (license license:expat))) + +(define-public go-github-com-charmbracelet-x-input + (package + (name "go-github-com-charmbracelet-x-input") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/charmbracelet/x") + (commit (go-version->git-ref version + #:subdir "input")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0v7yrpq6ffa2qdqlrdgl7wm5jvm9wlh2iwyhd4x6hqkq90gwllyr")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "ansi"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/charmbracelet/x/input" + #:unpack-path "github.com/charmbracelet/x")) + (propagated-inputs + (list go-github-com-charmbracelet-x-ansi + go-github-com-erikgeiser-coninput + go-github-com-muesli-cancelreader + go-github-com-xo-terminfo + go-golang-org-x-sys)) + (home-page "https://github.com/charmbracelet/x") + (synopsis "Terminal event input handler and driver") + (description + "This package provides a terminal event input handler and driver.") + (license license:expat))) + (define-public go-github-com-charmbracelet-x-term (package (name "go-github-com-charmbracelet-x-term") @@ -1662,46 +2764,30 @@ ECMA-48} specs.") @end itemize") (license license:expat))) -(define-public go-github-com-charmbracelet-x-exp-golden +(define-public go-github-com-charmbracelet-x-windows (package - (name "go-github-com-charmbracelet-x-exp-golden") - (version "0.0.0-20241121171228-5bc00623ea2f") + (name "go-github-com-charmbracelet-x-windows") + (version "0.2.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/charmbracelet/x") (commit (go-version->git-ref version - #:subdir "exp/golden")))) + #:subdir "windows")))) (file-name (git-file-name name version)) (sha256 - (base32 "016s67690dr3w3an6m24q6f4vrmwpk0qd4akvvh1dzpfyf4khxd4")))) + (base32 "011kkz7l7fqr3a4sslfipiyl6bq51md1rc7ayj73xm5ayscpm0r2")))) (build-system go-build-system) (arguments - (list - #:import-path "github.com/charmbracelet/x/exp/golden" - #:unpack-path "github.com/charmbracelet/x/" - #:phases - #~(modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda* (#:key import-path #:allow-other-keys) - ;; Tests need to write to that files. - (with-directory-excursion (string-append "src/" import-path) - (make-file-writable "testdata/TestRequireEqualUpdate.golden") - (make-file-writable "testdata/TestRequireEqualNoUpdate.golden")))) - (add-after 'check 'post-check - (lambda* (#:key import-path #:allow-other-keys) - (with-directory-excursion (string-append "src/" import-path) - ;; Remove modified testdata just in case. - (delete-file-recursively "testdata"))))))) + (list #:import-path "github.com/charmbracelet/x/windows" + #:unpack-path "github.com/charmbracelet/x")) (propagated-inputs - (list go-github-com-aymanbagabas-go-udiff)) + (list go-golang-org-x-sys)) (home-page "https://github.com/charmbracelet/x") - (synopsis "Verify @code{.golden} file equality") + (synopsis "Windows API used at Charmbracelet") (description - "Golden files (@code{.golden}) contain the raw expected output of -tests,which can contain control codes and escape sequences. @code{golden} -package provides an API for comparing Golden files.") + "This package provides the Windows API used at Charmbracelet.") (license license:expat))) (define-public go-github-com-cheggaaa-pb @@ -1725,7 +2811,8 @@ package provides an API for comparing Golden files.") (list go-github-com-fatih-color go-github-com-mattn-go-colorable go-github-com-mattn-go-isatty - go-github-com-mattn-go-runewidth)) + go-github-com-mattn-go-runewidth + go-github-com-vividcortex-ewma)) (home-page "https://github.com/cheggaaa/pb/") (synopsis "Console progress bar for Go") (description @@ -1750,9 +2837,10 @@ package provides an API for comparing Golden files.") (list #:import-path "github.com/cheggaaa/pb/v3" #:unpack-path "github.com/cheggaaa/pb")) - (propagated-inputs - (modify-inputs (package-propagated-inputs go-github-com-cheggaaa-pb) - (append go-github-com-vividcortex-ewma))))) + (arguments + (list + #:import-path "github.com/cheggaaa/pb/v3" + #:unpack-path "github.com/cheggaaa/pb")))) (define-public go-github-com-chzyer-logex (package @@ -1809,6 +2897,213 @@ levels that works by wrapping the standard @code{log} library.") "Readline is a pure Go implementation of a GNU-Readline like library.") (license license:expat))) +(define-public go-github-com-cilium-ebpf + (package + (name "go-github-com-cilium-ebpf") + (version "0.16.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cilium/ebpf") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1p3wssg00d0h5dn1fadl0g8iwcak0d6myyjlqwgf6rnfnlajcrgi")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/cilium/ebpf" + #:test-flags + ;; Tests fail with errors: + ;; - neither debugfs nor tracefs are mounted + ;; - no such file or directory + #~(list "-skip" (string-join + (list + "TestNewEvent" + "TestFSType" + "TestEventID" + "TestSanitizePath" + "TestGetTracefsPath") + "|")) + ;; XXX: 337 tests failed and 664 passed when "..." is preserved, run + ;; some of available tests, figure out how to fix the rests. + #:test-subdirs + #~(list + ;; Tests fail with error: detect support for + ;; FnSkbSetTstamp for program type SchedCLS: + ;; detect support for SchedCLS: load program: + ;; operation not permitted + ;; "features" + + ;; Failed to adjust rlimit, tests may fail + ;; "link" + ;; "perf" + ;; "ringbuf" + "asm" + "internal/...") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-examples + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (for-each delete-file-recursively + (list "example_sock_elf_test.go" + "example_sock_extract_dist_test.go" + "examples")))))))) + (propagated-inputs + (list go-github-com-go-quicktest-qt + go-github-com-google-go-cmp + go-github-com-jsimonetti-rtnetlink-v2 + go-golang-org-x-exp + go-golang-org-x-sys)) + (home-page "https://ebpf-go.dev/") + (synopsis "Read, modify and load extended Berkeley Packet Filter programs in Golang") + (description + "This package provides utilities for loading, compiling, and debugging +@url{https://www.ebpf.io/,eBPF} programs. It has minimal external +dependencies and is intended to be used in long running processes.") + (license license:expat))) + +(define-public go-github-com-clbanning-mxj-v2 + (package + (name "go-github-com-clbanning-mxj-v2") + (version "2.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clbanning/mxj") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kdh9cdq0x9jk5vzn2k489w7k88rdwf1b87yzhr7jbkchh2nh608")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f ; XXX: find out why + #:import-path "github.com/clbanning/mxj/v2" + #:test-subdirs #~(list "."))) + (native-inputs + (list go-github-com-google-go-cmp)) + (home-page "https://github.com/clbanning/mxj") + (synopsis "Decode / encode XML in Golang") + (description + "This package implements a functionality to marshal/unmarshal XML to/from +@code{map[string]interface{}} values (and JSON); extract/modify values from +maps by key or key-path, including wildcards.") + (license license:expat))) + +(define-public go-github-com-cli-safeexec + (package + (name "go-github-com-cli-safeexec") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cli/safeexec") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0j6hspjx9kyxn98nbisawx6wvbi1d6rpzr6p2rzhllm673wibwr3")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/cli/safeexec")) + (home-page "https://github.com/cli/safeexec") + (synopsis "Safe implementation of Go's exec.Command") + (description + "This package provides a Go module that provides a stabler alternative to +@code{exec.LookPath()}.") + (license license:bsd-2))) + +(define-public go-github-com-client9-misspell + (package + (name "go-github-com-client9-misspell") + (version "0.3.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/client9/misspell") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/client9/misspell" + #:test-subdirs #~(list "ignore" "."))) + (propagated-inputs (list go-github-com-gobwas-glob)) + (home-page "https://github.com/client9/misspell") + (synopsis "Correct commonly misspelled English words in source files") + (description + "misspell assists with correcting commonly misspelled English words in +source files. A neutral variety of English is used by default, but a US or UK +locale can be selected.") + (license license:expat))) + +(define-public go-github-com-cloudwego-iasm + (package + (name "go-github-com-cloudwego-iasm") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cloudwego/iasm") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0j9jvx6ijlr2xz3am4qrz5py68xpl8np7m7yfq9m2ilkli3ksq9x")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/cloudwego/iasm")) + (native-inputs + (list go-github-com-davecgh-go-spew + go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-klauspost-cpuid-v2 + go-github-com-knz-go-libedit + go-nullprogram-com-x-optparse)) + (home-page "https://github.com/cloudwego/iasm") + (synopsis "Interactive Assembler for Golang") + (description + "This package provides x86_64 variant of ported from a Python module +@url{https://github.com/Maratyszcza/PeachPy,PeachPy}, with some adaption to +the Go language features.") + (license license:asl2.0))) + +(define-public go-github-com-containerd-btrfs-v2 + (package + (name "go-github-com-containerd-btrfs-v2") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/containerd/btrfs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05xwni5gvg5nka1n6lbx7mah0iykz2jw7ca010r33djcn4i8r5bs")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/containerd/btrfs/v2")) + (propagated-inputs + (list go-golang-org-x-sys)) + (home-page "https://github.com/containerd/btrfs") + (synopsis "Btrfs bindings for Go") + (description + "Package btrfs provides bindings for working with btrfs partitions from +Go. The Linux kernel headers are only required on compilation time, not on +run time.") + (license license:asl2.0))) + (define-public go-github-com-containerd-cgroups (package (name "go-github-com-containerd-cgroups") @@ -1834,20 +3129,36 @@ levels that works by wrapping the standard @code{log} library.") (arguments (list #:import-path "github.com/containerd/cgroups" - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'disable-failing-tests - (lambda* (#:key tests? import-path #:allow-other-keys) - (with-directory-excursion (string-append "src/" import-path) - (substitute* (find-files "." "_test\\.go$") - ;; expected error "controller is not supported" but received - ;; "cgroups: cannot find cgroup mount destination" - (("TestSystemd240") "OffTestSystemd240")))))))) + #:test-flags + #~(list "-skip" (string-join + ;; cannot find cgroup mount destination" + (list "TestSystemd240" + ;; cannot statfs cgroup root + "TestCgroupType" + "TestCgroupv2CpuStats" + "TestCgroupv2MemoryStats" + "TestCgroupv2PSIStats" + "TestCgroupv2PidsStats" + "TestErrorsWhenUnitAlreadyExists" + "TestEventChanCleanupOnCgroupRemoval" + "TestIgnoreUnitExistsWhenPidNegativeOne" + "TestKill" + "TestMoveTo" + "TestSystemdCgroupCpuController" + "TestSystemdCgroupMemoryController" + "TestSystemdCgroupPSIController" + "TestSystemdCgroupPidsController" + ;; Assertion failed + "TestDeviceFilter_Nil" + "TestDeviceFilter_Privileged" + "TestDeviceFilter_Weird") + "|")))) (native-inputs (list go-github-com-stretchr-testify go-go-uber-org-goleak)) (propagated-inputs - (list go-github-com-coreos-go-systemd-v22 + (list go-github-com-cilium-ebpf + go-github-com-coreos-go-systemd-v22 go-github-com-docker-go-units go-github-com-godbus-dbus-v5 go-github-com-gogo-protobuf @@ -1863,6 +3174,69 @@ cgroup uses the OCI runtime-spec found @url{https://github.com/opencontainers/runtime-spec,here}.") (license license:asl2.0))) +(define-public go-github-com-containerd-cgroups-v3 + (package + (inherit go-github-com-containerd-cgroups) + (name "go-github-com-containerd-cgroups-v3") + (version "3.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/containerd/cgroups") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09fkbhkx0hmcfcym3zl0dshbhj3p692xg7d6y8pj732g64zk6v4k")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodule(s) with their own go.mod files and packed as + ;; separated packages: + ;; + ;; - github.com/containerd/cgroups/cmd cgctl + (delete-file-recursively "cmd"))))) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-containerd-cgroups) + ((#:import-path _) "github.com/containerd/cgroups/v3"))) + (propagated-inputs + (list go-github-com-cilium-ebpf + go-github-com-containerd-log + go-github-com-coreos-go-systemd-v22 + go-github-com-docker-go-units + go-github-com-godbus-dbus-v5 + go-github-com-moby-sys-userns + go-github-com-opencontainers-runtime-spec + go-golang-org-x-sys + go-google-golang-org-protobuf)))) + +(define-public go-github-com-containerd-console + (package + (name "go-github-com-containerd-console") + (version "1.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/containerd/console") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1p10k6lwfxgij5a9i47dark8apffc6wn254dwj43ks8jr134854v")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/containerd/console")) + (propagated-inputs + (list go-golang-org-x-sys)) + (home-page "https://github.com/containerd/console") + (synopsis "Console package for Go") + (description + "This is Golang package for dealing with consoles. It has few +dependencies and a simple API.") + (license license:asl2.0))) + (define-public go-github-com-containerd-fifo (package (name "go-github-com-containerd-fifo") @@ -1890,6 +3264,87 @@ cgroup uses the OCI runtime-spec found way.") (license license:asl2.0))) +(define-public go-github-com-containerd-log + (package + (name "go-github-com-containerd-log") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/containerd/log") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nzviiqpn0djdwql2q3m2xs1ndxyd0v2klvq6xi2r0dn4wr3mqdy")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/containerd/log")) + (propagated-inputs (list go-github-com-sirupsen-logrus)) + (home-page "https://github.com/containerd/log") + (synopsis "Common log interface for containerd repositories and clients") + (description + "Package log provides types and functions related to logging, passing +loggers through a context, and attaching context to the logger.") + (license license:asl2.0))) + +(define-public go-github-com-containerd-platforms + (package + (name "go-github-com-containerd-platforms") + (version "0.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/containerd/platforms") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03clc3b2fvlym5d2rvgima0p0br1m34p8gs7rn6y5rp7v7z601sx")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/containerd/platforms")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-containerd-log + go-github-com-opencontainers-image-spec + go-golang-org-x-sys)) + (home-page "https://github.com/containerd/platforms") + (synopsis "Handling container platform type") + (description + "Package platforms provides a toolkit for normalizing, matching and +specifying container platforms.") + (license license:asl2.0))) + +(define-public go-github-com-containerd-plugin + (package + (name "go-github-com-containerd-plugin") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/containerd/plugin") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gzm8h4yaparji0llqqfxl68gv56hwlybz4rgwnr54fhr029mpzp")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/containerd/plugin")) + (propagated-inputs + (list go-github-com-opencontainers-image-spec)) + (home-page "https://github.com/containerd/plugin") + (synopsis "Registering and managing typed plugins with dependencies") + (description + "This package provides a common plugin interface across containerd +repositories.") + (license license:asl2.0))) + (define-public go-github-com-coocood-freecache (package (name "go-github-com-coocood-freecache") @@ -1917,6 +3372,32 @@ objects can be cached in memory without increased latency or degraded throughput.") (license license:expat))) +(define-public go-github-com-coreos-go-semver + (package + (name "go-github-com-coreos-go-semver") + (version "0.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/coreos/go-semver") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vs04yykv1bwgvbyvi1m7ps83w06wzplw4giw8jac2iidx0x74v5")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/coreos/go-semver")) + (propagated-inputs + (list go-gopkg-in-yaml-v3)) + (home-page "https://github.com/coreos/go-semver/") + (synopsis "Semantic versioning library") + (description + "@code{go-semver} is a semantic versioning library for Go. It lets you +parse and compare two semantic version strings.") + (license license:asl2.0))) + (define-public go-github-com-coreos-go-systemd-v22 (package (name "go-github-com-coreos-go-systemd-v22") @@ -1997,10 +3478,39 @@ submodules: @end itemize") (license license:asl2.0))) +(define-public go-github-com-couchbase-gomemcached + (package + (name "go-github-com-couchbase-gomemcached") + (version "0.3.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/couchbase/gomemcached") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "132zjbr7d586gb1wqlnhg3vgyshq629z1wsskrpbmyypjfkq620c")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/couchbase/gomemcached" + #:test-flags #~(list "-skip" "TestEncodingResponse") + #:test-subdirs #~(list "."))) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-pkg-errors)) + (home-page "https://github.com/couchbase/gomemcached") + (synopsis "Memcached binary protocol toolkit for go") + (description + "This package provides memcache client and server functionality.") + (license license:expat))) + (define-public go-github-com-creack-pty (package (name "go-github-com-creack-pty") - (version "1.1.23") + (version "1.1.24") (source (origin (method git-fetch) @@ -2009,7 +3519,7 @@ submodules: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1chx7ml9wlpk8pzgnnxb97gblmxz1j1v37m5i1asb94l5c24r1fg")))) + (base32 "0yy4zhfb7vrrbwd13rcw0zzcq0ami3zv3hp0x7g7il6mrbadcf25")))) (build-system go-build-system) (arguments (list @@ -2045,6 +3555,34 @@ submodules: "The pty package provides functions for working with Unix pseudoterminals.") (license license:expat))) +(define-public go-github-com-creasty-defaults + (package + (name "go-github-com-creasty-defaults") + (version "1.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/creasty/defaults") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1avbm47ghqc6hiafv0c61mzrw9rajgszjyqh4yww916fqzaw8li3")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/creasty/defaults")) + (home-page "https://github.com/creasty/defaults") + (synopsis "Initialize structs with default values") + (description + "This package implements functionlity to initialize structs with default +values. It supports almost all kind of types: @code{int/8/16/32/64}, +@code{uint/8/16/32/64}, @code{float32/64}, @code{uintptr}, @code{bool}, +@code{string}, @code{map}, @code{slice}, @code{struct}, +@code{f,map[K1]map[K2]Struct}, @code{}[]map[K1]Struct[]}, +@code{time.Duration}, @code{*SampleStruct}, and @code{*int}") + (license license:expat))) + (define-public go-github-com-cskr-pubsub (package (name "go-github-com-cskr-pubsub") @@ -2100,7 +3638,7 @@ metrics to Graphite.") (define-public go-github-com-cyphar-filepath-securejoin (package (name "go-github-com-cyphar-filepath-securejoin") - (version "0.3.2") + (version "0.3.4") (source (origin (method git-fetch) @@ -2109,7 +3647,7 @@ metrics to Graphite.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "10clm1hfzndwhi7lwz5ph72apxwbxr3vg4nln5xsrrx26j6qv6v2")))) + (base32 "1iflclxcm5a4g2qp980q5qr1g4dwdxn02nnvvx3pi4sa1gk5bmr3")))) (build-system go-build-system) (arguments (list @@ -2147,6 +3685,8 @@ more tangible.") (arguments (list #:import-path "github.com/d4l3k/messagediff")) + (propagated-inputs + (list go-golang-org-x-net)) (home-page "https://github.com/d4l3k/messagediff") (synopsis "Diff arbitrary Go structs") (description @@ -2246,6 +3786,34 @@ gist (https://gist.github.com/kballard/272720).") (description "This package provides functionality to generate Go code.") (license license:expat))) +(define-public go-github-com-daviddengcn-go-colortext + (package + (name "go-github-com-daviddengcn-go-colortext") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/daviddengcn/go-colortext") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0j5ldwg3a768d3nniiglghr9axj4p87k7f7asqxa1a688xvcms48")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/daviddengcn/go-colortext")) + (native-inputs + (list go-github-com-golangplus-testing)) + (home-page "https://github.com/daviddengcn/go-colortext") + (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-dbaggerman-cuba (package (name "go-github-com-dbaggerman-cuba") @@ -2274,6 +3842,30 @@ gist (https://gist.github.com/kballard/272720).") more complicated parallel cases.") (license license:expat))) +(define-public go-github-com-dchest-stemmer + (package + (name "go-github-com-dchest-stemmer") + (version "0.0.0-20161207102402-66719a20c4b5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dchest/stemmer") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1r2rz8ynmcrkwjk8sq10n6jgxmkfqf2wqy8nvgriyww41pfq5fgn")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/dchest/stemmer")) + (home-page "https://github.com/dchest/stemmer") + (synopsis "Stemmer package for Golang") + (description + "Stemmer package provides an interface for stemmers and includes English, +German and Dutch stemmers as sub-packages.") + (license license:bsd-2))) + (define-public go-github-com-deckarep-golang-set (package (name "go-github-com-deckarep-golang-set") @@ -2319,6 +3911,93 @@ more complicated parallel cases.") (propagated-inputs (list go-github-com-elliotchance-orderedmap-v2)))) +(define-public go-github-com-delthas-go-localeinfo + (package + (name "go-github-com-delthas-go-localeinfo") + (version "0.0.0-20240813094314-e5413e186769") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/delthas/go-localeinfo") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0nw21gv3j7cc9x4gq4avlg4s7xzgc7gxrkmq4v451zrvx0mnv0bn")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/delthas/go-localeinfo")) + (home-page "https://github.com/delthas/go-localeinfo") + (synopsis "Library for extracting locale information") + (description + "@code{go-localeinfo} extracts monetary/numeric/time +formatting information, rather than the current locale name.") + (license license:expat))) + +(define-public go-github-com-dennwc-btrfs + (package + (name "go-github-com-dennwc-btrfs") + (version "0.0.0-20241002142654-12ae127e0bf6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dennwc/btrfs") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0afc1clhzzhvshxp6xqs4d1hq681pzm85fqwjdgs9yh0j5bxjnhg")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/dennwc/btrfs" + #:test-flags + ;; Tests require "mount" and "mkfs.btrfs" in the PATH. + #~(list "-skip" + (string-join + (list "TestCloneFile" + "TestCompression" + "TestIsSubvolume" + "TestOpen" + "TestResize" + "TestSubvolumes") + "|")))) + (native-inputs + (list go-github-com-spf13-cobra)) ; for CLI + (propagated-inputs (list go-github-com-dennwc-ioctl)) + (home-page "https://github.com/dennwc/btrfs") + (synopsis "Btrfs library in a pure Golang") + ;; XXX: Projects lacks README or any other documentation describing the + ;; functionality. + (description + "This package implements Btrfs functionality in a pure Go.") + (license license:asl2.0))) + +(define-public go-github-com-dennwc-ioctl + (package + (name "go-github-com-dennwc-ioctl") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dennwc/ioctl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01b5d6fywrzs0q4q1j2c3qb15hwslb405w7bbc54w4qav0f61l55")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/dennwc/ioctl")) + (home-page "https://github.com/dennwc/ioctl") + (synopsis "Golang implementation of ioctl") + (description + "This package provides @code{ioctl} wrapper to std @code{syscall} and +@code{os}.") + (license license:expat))) + (define-public go-github-com-dennwc-varint (package (name "go-github-com-dennwc-varint") @@ -2336,14 +4015,9 @@ more complicated parallel cases.") (arguments (list #:import-path "github.com/dennwc/varint" - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'disable-failing-tests - (lambda* (#:key tests? import-path #:allow-other-keys) - (with-directory-excursion (string-append "src/" import-path) - (substitute* (find-files "." "\\_test.go$") - ;; XXX: varint_test.go:94: unexpected error: -11. - (("TestUvarint") "OffTestUvarint")))))))) + ;; XXX: varint_test.go:94: unexpected error: -11. + #:test-flags + #~(list "-skip" "TestUvarint/overflow|TestUvarint/overflow_short"))) (home-page "https://github.com/dennwc/varint") (synopsis "Fast varint library for Golang") (description @@ -2351,6 +4025,30 @@ more complicated parallel cases.") encoding/decoding. It has no dependencies.") (license license:expat))) +(define-public go-github-com-detailyang-go-fallocate + (package + (name "go-github-com-detailyang-go-fallocate") + (version "0.0.0-20180908115635-432fa640bd2e") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/detailyang/go-fallocate") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1yvgkj5i43ihagdwg70vjgrhwf2mjsbyv2xwd6znsdwav6qpcdnw")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/detailyang/go-fallocate")) + (home-page "https://github.com/detailyang/go-fallocate") + (synopsis "Syscal @code{fallocate} implementation in Golang") + (description + "This package implements syscal @code{fallocate} by wrapping standard Go +@code{os.SEEK_SET}.") + (license license:expat))) + (define-public go-github-com-dgraph-io-badger (package (name "go-github-com-dgraph-io-badger") @@ -2368,6 +4066,10 @@ encoding/decoding. It has no dependencies.") (arguments (list #:import-path "github.com/dgraph-io/badger" + #:test-flags + #~(list "-skip" + ;; Test fails with error: assertion is not equal. + "TestBuildKeyValueSizeHistogram/All_same_size_key-values") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-failing-tests @@ -2379,15 +4081,7 @@ encoding/decoding. It has no dependencies.") ;; fmt.Sprint(x)?). ;; See: <https://github.com/dgraph-io/badger/issues/2103>. (("\"testing\"") (string-append "\"testing\"\n\"fmt\"")) - (("string") "fmt.Sprint"))))) - ;; XXX: Replace when go-build-system supports nested path. - (replace 'check - (lambda* (#:key import-path tests? #:allow-other-keys) - (when tests? - (with-directory-excursion (string-append "src/" import-path) - (invoke "go" "test" "-v" - "-skip" "TestBuildKeyValueSizeHistogram" - "./..." )))))))) + (("string") "fmt.Sprint")))))))) (native-inputs (list go-github-com-stretchr-testify)) (propagated-inputs @@ -2463,6 +4157,119 @@ supports concurrent serializable transactions.") on throughput and hit ratio performance.") (license (list license:asl2.0 license:expat)))) +(define-public go-github-com-dgryski-go-linebreak + (package + (name "go-github-com-dgryski-go-linebreak") + (version "0.0.0-20180812204043-d8f37254e7d3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dgryski/go-linebreak") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jv8ldb9vh5mgh66g61fh418x16s8jszrykhkbc901y1llf2mi22")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/dgryski/go-linebreak")) + (home-page "https://github.com/dgryski/go-linebreak") + (synopsis "Wraps text at a given width") + (description + "Package linebreak wraps text at a given width, it's a translation of +@url{http://xxyxyz.org/line-breaking/, linear}, an implementation of +@url{https://en.wikipedia.org/wiki/SMAWK_algorithm, SMAWK algorithm}.") + (license license:expat))) + +;; The project provides no go.mod files and contains a veracity of commands +;; and libraries which might need missing dependencies, update them on demand. +(define-public go-github-com-dgryski-trifles + (package + (name "go-github-com-dgryski-trifles") + (version "0.0.0-20240922021506-5ecb8eeff266") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dgryski/trifles") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "071pnsyax99ikc58b110hdvqk1v46mqk6zdd0sshrf9lmwixwpnj")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:tests? #f + #:import-path "github.com/dgryski/trifles")) + (home-page "https://github.com/dgryski/trifles") + (synopsis "Collection of Golang utitity libraries and commands") + (description + "This package provides a collection veriaty of utility libraries: + +@itemize +@item intset - compress a stream of integers +@item lz - lempel-ziv compression +@item threadtree - a threaded binary-tree +@item numerical - numerical integration and root finding +@item maze - maze generation stuff +@item hist - simple command-line histogramming tool +@item simhash - trivial simhash implementation +@item wscat - trivial websocket netcat +@item servedir - trivial http fileserver +@item rndtxt - generate random text strings +@item mpush - push to multiple notification services (pushbullet, nma, pushover) +@item superbat - batmanjs and go-restful playground +@item msgrpc - msgpack rpc python/go interop samples +@item quantile - testing different streaming quantile estimators +@item wtflog - logging package with some renamed log levels +@item qrshow - display QR codes in a terminal +@item nlz - asm code to find number of leading zeros +@item httpecho - server to dump information about an http request +@item lzpack - trivial packed format for lz4 compression +@item grinderplot - generate a flot chart from grinder logs +@item worker - framework for spawning concurrent workers +@item gddo - search godoc.org from the command line +@item uuid - generate random UUIDs +@item entropy - reducer to compute entropy per epoch for a set of values in a category +@item inthash - integer hashing functions +@item udprelay - simple udp-to-tcp multiplexing relay +@item shufsecs - shuffle sorted epoch-data within epochs +@item strtable - dumb string->uint32 hash table for profiling vs native maps +@item cachetest - playing with different caching algorithms (clock, lru, lfu, random) +@item glj - passing data from go to lua with msgpack +@item toms - text filter for time.Duration to milliseconds +@item bluniq - bloom-filter based unique filter +@item skvdist - check distribution of shardedkv choosers +@item gcwatch - print out garbage collection stats from /debug/vars +@item toepoch - convert time fields to epochs +@item repl - framework for making dumb repls for testing +@item skvchk - tool for checking shardedkv distributions +@item interp - interpolation search +@item oma - simulation of the Dutch children's board game \"Met de bus naar Oma\" +@item rndsample - uniform random sample from stdin +@item pphrase - simple passphrase generator +@item fastrand - fast xorshift rng with bias-free [0..n) +@item range2cird - turn IP ranges into CIDR +@item gfmt - trivial filter wrapping go-linebreak +@item mtest - port of libtommath test program +@item leven - fastest levenshtein distance algorithm I could find +@item matcher - test different methods of testing string set membership +@item cstbucket - crunch carbonserver logs for time-ranges of queries +@item stablepart - stable partition a sort.Interface on a boolean predicate +@item jumpreplica - tool for playing with replica choices for jump-hash +@item sshdregex - demo using ragel for optimized regexp matching +@item hllbench - benchmark different hyperloglog implementations +@item shlines, sipsum - tools for siphashing things +@item urlq - extract query parameters from a list of URLs +@item median - compute the median of 5 numbers with a sorting network +@item hashbench - benchmark different hashing functions +@item fastpprof - how to use pprof with fasthttp +@item ewmaest - progress logging with ewma-based ETA estimation +@end itemize") + (license license:expat))) + (define-public go-github-com-dimchansky-utfbom (package (name "go-github-com-dimchansky-utfbom") @@ -2486,6 +4293,32 @@ on throughput and hit ratio performance.") Mark} detection.") (license license:asl2.0))) +(define-public go-github-com-disintegration-imaging + (package + (name "go-github-com-disintegration-imaging") + (version "1.6.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/disintegration/imaging") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1sl201nmk601h0aii4234sycn4v2b0rjxf8yhrnik4yjzd68q9x5")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/disintegration/imaging")) + (inputs + (list go-golang-org-x-image)) + (home-page "https://github.com/disintegration/imaging") + (synopsis "Simple image processing for Go") + (description + "This package provides basic image processing functions +(resize, rotate, crop, brightness/contrast adjustments, etc.).") + (license license:expat))) + (define-public go-github-com-djherbis-atime (package (name "go-github-com-djherbis-atime") @@ -2557,6 +4390,101 @@ mtime,ctime and btime for files.") "Regexp2 is a feature-rich RegExp engine for Go.") (license license:expat))) +(define-public go-github-com-dnephin-pflag + (package + (name "go-github-com-dnephin-pflag") + (version "1.0.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dnephin/pflag") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1d3aakwpwdbq3lqpk5kdqlr0h7maqxnpsbrd2022xwd93fxyxcq0")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f ; FIXME + #:import-path "github.com/dnephin/pflag")) + (home-page "https://github.com/dnephin/pflag") + (synopsis "Drop-in replacement for Go's flag package") + (description + "Package pflag is a drop-in replacement for Go's flag package, +implementing POSIX/GNU-style --flags. It is compatible with the +@url{http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html, +GNU extensions to the POSIX recommendations for command-line options}. This +is an activly maintained fork of @url{https://github.com/ogier/pflag}.") + (license license:bsd-3))) + +(define-public go-github-com-docker-distribution + (package + (name "go-github-com-docker-distribution") + (version "2.8.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/docker/distribution") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dbaxmkhg53anhkzngyzlxm2bd4dwv0sv75zip1rkm0874wjbxzb")) + (snippet + ;; TODO: Unbundle more. + #~(begin (use-modules (guix build utils)) + (for-each delete-file-recursively + (list "vendor/golang.org")))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/docker/distribution" + #:test-flags #~(list "-test.short") + #:test-subdirs + #~(list "configuration" + "context" + "health" + "manifest/..." + "notifications/..." + "uuid"))) + (native-inputs + (list go-github-com-sirupsen-logrus + go-golang-org-x-crypto + go-golang-org-x-sys)) + (home-page "https://github.com/docker/distribution") + (synopsis + "This package is a Docker toolset to pack, ship, store, and deliver content") + (description + "Docker Distribution is a Docker toolset to pack, ship, +store, and deliver content. It contains Docker Registry 2.0 and libraries to +interact with distribution components.") + (license license:asl2.0))) + +(define-public go-github-com-docker-go-units + (package + (name "go-github-com-docker-go-units") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/docker/go-units") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q92l7pyfg9rn4ljr1warnv1ri6z7svah7m3rqmvmyaw6bzdbbw8")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/docker/go-units")) + (home-page "https://github.com/docker/go-units") + (synopsis "Parse and print size and time units in human-readable format") + (description + "@code{go-units} is a library to transform human friendly measurements +into machine friendly values.") + (license license:asl2.0))) + (define-public go-github-com-docopt-docopt-go (let ((commit "ee0de3bc6815ee19d4a46c7eb90f829db0e014b1") (revision "0")) @@ -2601,6 +4529,8 @@ implementation of http://docopt.org/.") (arguments (list #:import-path "github.com/dsnet/golib")) + (propagated-inputs + (list go-github-com-google-go-cmp)) (home-page "https://github.com/dsnet/golib") (synopsis "Collection of helper libraries for Golang") (description @@ -2624,41 +4554,6 @@ Implements string conversion functionality for unit prefixes. @end table") (license license:bsd-3))) -(define-public go-github-com-dustin-gojson - (package - (name "go-github-com-dustin-gojson") - (version "v0.0.0-20160307161227-2e71ec9dd5ad") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/dustin/gojson") - (commit (go-version->git-ref version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1vrmmyn7l568l1k71mxd54iqf3d54pn86cf278i374j86jn0bdxf")) - (modules '((guix build utils))) - (snippet '(begin - ;; Fix the library to work with go-1.21. - (substitute* "decode.go" - (("trying to unmarshal unquoted value into") - "trying to unmarshal unquoted value %v into")) - (substitute* "decode_test.go" - (("t.Fatalf\\(\"Unmarshal: %v\"\\)") - "t.Fatalf(\"Unmarshal: %v\", data)")) ;)))) - (substitute* "scanner.go" - (("s := strconv.Quote\\(string\\(c\\)\\)") - "s := strconv.QuoteRune(rune(c))")))))) - (build-system go-build-system) - (arguments - `(#:import-path "github.com/dustin/gojson")) - (home-page "https://github.com/dustin/gojson") - (synopsis "Extended Golang's @code{encoding/json} module with the public scanner API") - (description - "This package provides a fork of Golang's @code{encoding/json} with the -scanner API made public.") - (license license:bsd-3))) - (define-public go-github-com-dustin-go-humanize (package (name "go-github-com-dustin-go-humanize") @@ -2928,6 +4823,62 @@ specified in @url{https://datatracker.ietf.org/doc/html/rfc6350, RFC 6350}.") @url{https://tools.ietf.org/html/rfc6352, RFC 6352} specifications.") (license license:expat))) +(define-public go-github-com-emirpasic-gods + (package + (name "go-github-com-emirpasic-gods") + (version "1.18.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emirpasic/gods") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vnnmv813m8yhykwlxpizpvpimsirbaiwa3ckxfyx3ybv1swlq44")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/emirpasic/gods")) + (home-page "https://github.com/emirpasic/gods/") + (synopsis "Implementation of various data structures and algorithms in Go") + (description + "This package provides implementation of various data structures and +algorithms in Go.") + (license license:bsd-2))) + +(define-public go-github-com-erikgeiser-coninput + (package + (name "go-github-com-erikgeiser-coninput") + (version "0.0.0-20211004153227-1c3628e74d0f") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/erikgeiser/coninput") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1x8yw15ngyg4vlcdv5wsgpr6w5kavjv7bmk5mpvvx848bwvslr1r")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/erikgeiser/coninput" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-examples + (lambda* (#:key import-path #:allow-other-keys) + (delete-file-recursively + (string-append "src/" import-path "/example"))))))) + (propagated-inputs + (list go-golang-org-x-sys)) + (home-page "https://github.com/erikgeiser/coninput") + (synopsis "Input handling with Windows Console API") + (description + "Go library for input handling using Windows Console API.") + (license license:expat))) + (define-public go-github-com-errata-ai-ini (package (name "go-github-com-errata-ai-ini") @@ -2989,6 +4940,36 @@ and @code{io.ReadCloser}) with overwrites " This package is a fork of dlclark/regexp2 providing a more similar API to regexp.")))) +(define-public go-github-com-ettle-strcase + (package + (name "go-github-com-ettle-strcase") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ettle/strcase") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gg3zxbbp3vfskzg2dl1s1agjn34dw14282fj28g9nrwqbbq854x")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/ettle/strcase" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-benchmark + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (delete-file-recursively "benchmark"))))))) + (home-page "https://github.com/ettle/strcase") + (synopsis "String naming convention style library") + (description + "Package strcase is a package for converting strings into various word +cases (e.g. snake_case, camelCase, kebab-case, etc).") + (license license:expat))) + (define-public go-github-com-expr-lang-expr (package (name "go-github-com-expr-lang-expr") @@ -3001,7 +4982,16 @@ more similar API to regexp.")))) (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "08p7gcxm7psgn1rzhhy2s2va59ssy77x8wd706gdp2pif7wln883")))) + (base32 "08p7gcxm7psgn1rzhhy2s2va59ssy77x8wd706gdp2pif7wln883")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/expr-lang/expr/repl + ;; - github.com/expr-lang/expr/debug + (for-each delete-file-recursively + (list "repl" "debug")))))) (build-system go-build-system) (arguments (list @@ -3074,6 +5064,30 @@ in a consistent state and never represent an in-progress write.") Alphanum Algorithm} developed by Dave Koelle in Go.") (license license:bsd-3))) +(define-public go-github-com-fatih-camelcase + (package + (name "go-github-com-fatih-camelcase") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fatih/camelcase") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0z7rw6f5j97dkzqya257dqlxf3cm8zl508081gmnr4bsjhkwpz2l")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/fatih/camelcase")) + (home-page "https://github.com/fatih/camelcase") + (synopsis "Split a camelcase word into a slice of words in Go") + (description + "Package camelcase is a micro package to split the words of a camelcase type +string into a slice of words.") + (license license:expat))) + (define-public go-github-com-fatih-color (package (name "go-github-com-fatih-color") @@ -3101,6 +5115,53 @@ Alphanum Algorithm} developed by Dave Koelle in Go.") defined output to the standard output.") (license license:expat))) +(define-public go-github-com-fatih-structs + (package + (name "go-github-com-fatih-structs") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fatih/structs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wrhb8wp8zpzggl61lapb627lw8yv281abvr6vqakmf569nswa9q")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/fatih/structs")) + (home-page "https://github.com/fatih/structs") + (synopsis "Utilities for Go structs") + (description "This package provides various utilitiy functions to work +with Go structs.") + (license license:expat))) + +(define-public go-github-com-fatih-structtag + (package + (name "go-github-com-fatih-structtag") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fatih/structtag") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09a9pycvkf384v5f47ff4q33bjbzpx6kbkn23za1gcwc96466sk3")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/fatih/structtag")) + (home-page "https://github.com/fatih/structtag") + (synopsis "Parse and modify Go struct field tags") + (description + "This package provides an easy way of parsing and manipulating struct tag fields. +Please vendor the library as it might change in future versions.") + (license license:bsd-3))) + ;; XXX: This repository has been archived by the owner on Nov 9, 2017. It is ;; now read-only. (define-public go-github-com-flynn-archive-go-shlex @@ -3132,7 +5193,7 @@ quoting, commenting, and escaping.") (define-public go-github-com-fsnotify-fsnotify (package (name "go-github-com-fsnotify-fsnotify") - (version "1.7.0") + (version "1.8.0") (source (origin (method git-fetch) @@ -3141,11 +5202,12 @@ quoting, commenting, and escaping.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1h7vs21lkj4bqbw5a6mqykaf56y181r0nja7c8pzajkvbsc39y8m")))) + (base32 "1wr3695yb7hl405h6pzkbdkkxpdbmc5kwjjwaf9almbvmpk6077r")))) (build-system go-build-system) (arguments (list - #:import-path "github.com/fsnotify/fsnotify")) + #:import-path "github.com/fsnotify/fsnotify" + #:test-flags #~(list "-skip" "TestDiffMatch/3"))) (propagated-inputs (list go-golang-org-x-sys)) (home-page "https://github.com/fsnotify/fsnotify") @@ -3239,10 +5301,252 @@ Differentiation between text and binary files}. @end itemize") (license license:expat))) +(define-public go-github-com-gdamore-encoding + (package + (name "go-github-com-gdamore-encoding") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gdamore/encoding") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0506b4pnn3yk80sjrsh38z29qj41spxjl80fjw7vg3mz5kfkdxhi")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/gdamore/encoding")) + (inputs + (list go-golang-org-x-text)) + (home-page "https://github.com/gdamore/encoding") + (synopsis "Provide encodings missing from Go") + (description + "This package provides useful encodings not included in the standard +@code{Text} package, including some for dealing with I/O streams from +non-UTF-friendly sources.") + (license license:expat))) + +(define-public go-github-com-gdamore-tcell + (package + (name "go-github-com-gdamore-tcell") + (version "1.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gdamore/tcell") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "178h7kj4zb8lcw84nbqanapnxrgvhq4111xw4fj6m56y46anlzwg")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/gdamore/tcell")) + (inputs + (list go-github-com-gdamore-encoding + go-github-com-mattn-go-runewidth + go-github-com-lucasb-eyer-go-colorful + go-golang-org-x-sys + go-golang-org-x-text)) + (home-page "https://github.com/gdamore/tcell") + (synopsis "Provide a cell-based view for text terminals") + (description + "This package includes a full parser and expander for terminfo +capability strings to avoid hard-coding escape strings for formatting. It +also favors portability, and includes support for all POSIX systems.") + (license license:asl2.0))) + +(define-public go-github-com-gdamore-tcell-v2 + (package + (inherit go-github-com-gdamore-tcell) + (name "go-github-com-gdamore-tcell-v2") + (version "2.7.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gdamore/tcell") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05b22sgyf8lnwjddxlfvlj7i8b67gnidhbnz86vvx8fddggpa5nd")))) + (arguments + (list + #:import-path "github.com/gdamore/tcell/v2")) + (propagated-inputs + (modify-inputs (package-inputs go-github-com-gdamore-tcell) + (prepend go-golang-org-x-term go-golang-org-x-sys))))) + +(define-public go-github-com-delthas-tcell-v2 + ;; TODO This variant allows upgrading senpai, and looks to be unnecessary in + ;; the next release of senpai + (hidden-package + (package + (inherit go-github-com-gdamore-tcell) + (name "go-github-com-delthas-tcell") + (version "2.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/delthas/tcell") + (commit "837a7d7"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05zr73q38dawl7hr6g7v4pkyv6mqr0zp2l9qsgn7xmf1p9q4bn7j")))) + (propagated-inputs + (modify-inputs (package-inputs go-github-com-gdamore-tcell) + (prepend go-golang-org-x-term go-golang-org-x-sys)))))) + +(define-public go-github-com-gedex-inflector + (package + (name "go-github-com-gedex-inflector") + (version "0.0.0-20170307190818-16278e9db813") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gedex/inflector") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05hjqw1m71vww4914d9h6nqa9jw3lgjzwsy7qaffl02s2lh1amks")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/gedex/inflector")) + (home-page "https://github.com/gedex/inflector") + (synopsis "Go library that pluralizes and singularizes English nouns") + (description + "Go library that pluralizes and singularizes English nouns.") + (license license:bsd-2))) + +(define-public go-github-com-git-lfs-go-netrc + (package + (name "go-github-com-git-lfs-go-netrc") + (version "0.0.0-20230601124202-e96144b9a966") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/git-lfs/go-netrc") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rb8xk0gp7yvw10zs122p48qhj3xc9csaykbflr7wdfx5xqpbr2f")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/git-lfs/go-netrc")) + (home-page "https://github.com/git-lfs/go-netrc") + (synopsis "Netrc file parser for Go") + (description + "This package is for reading and writing netrc files. This package can +parse netrc files, make changes to them, and then serialize them back to netrc +format, while preserving any whitespace that was present in the source file.") + (license license:expat))) + +(define-public go-github-com-gizak-termui-v3 + (package + (name "go-github-com-gizak-termui-v3") + (version "3.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gizak/termui") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1v3k8l5p95kb1v297ra5mw9sxdd59y82y6ibjzya5ma2pry6k5cn")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/gizak/termui/v3" + #:unpack-path "github.com/gizak/termui")) + (propagated-inputs + (list go-github-com-mattn-go-runewidth + go-github-com-mitchellh-go-wordwrap + go-github-com-nsf-termbox-go)) + (home-page "https://github.com/gizak/termui") + (synopsis "Terminal dashboard widget Go library") + (description + "The termui Go library draws customizable dashboard widgets in a text +terminal. It includes several common widgets: lists, trees, tables and tabs, +but also more complex items such as (stacked) bar and pie charts, scatter +plots, gauges, and even images and a canvas for drawing `high resolution' +braille dots. + +You can also easily create new custom widgets. Widgets can be coloured and +styled and positioned absolutely or relatively. They respond to keyboard, +mouse, and terminal resizing events.") + (license license:expat))) + +(define-public go-github-com-go-cmd-cmd + (package + (name "go-github-com-go-cmd-cmd") + (version "1.4.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-cmd/cmd") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n465pnvphvs4jp3mn1krbxb0wcjclfcrif1c5zcir8idj18vsax")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/go-cmd/cmd")) + (native-inputs + (list go-github-com-go-test-deep)) + (home-page "https://github.com/go-cmd/cmd") + (synopsis "Non-blocking external commands in Go with streaming output") + (description + "Package cmd runs external commands with concurrent access to output and +status. It wraps the Go standard library @code{os/exec.Command} to correctly +handle reading output (STDOUT and STDERR) while a command is running and +killing a command. All operations are safe to call from multiple +goroutines.") + (license license:expat))) + +(define-public go-github-com-go-errors-errors + (package + (name "go-github-com-go-errors-errors") + (version "1.5.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-errors/errors") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ydwx20al9x99xnki0srb9iy96y638inw05xx5jb16dn8rz09wib")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/go-errors/errors" + ;; Stack trace does not contain source line: 'a: b(5)'. + #:test-flags #~(list "-skip" "TestStackFormat"))) + (home-page "https://github.com/go-errors/errors") + (synopsis "Errors with stacktraces for Golang") + (description + "Package errors provides errors that have stack-traces. It provides the +type @code{*Error} which implements the standard golang error interface, so +you can use this library interchangeably with code that is expecting a normal +error return.") + (license license:expat))) + (define-public go-github-com-go-git-go-billy-v5 (package (name "go-github-com-go-git-go-billy-v5") - (version "5.5.0") + (version "5.6.0") (source (origin (method git-fetch) @@ -3251,13 +5555,14 @@ Differentiation between text and binary files}. (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1r7hfwc6lqnb7jhbbmicdlb3yipjyazq3pndpffw026fcq7jhxg1")))) + (base32 "061yczvpxq5xcnjbi8ywx0qvrispi8pwk3nqky5cv1dsi6xzkchc")))) (build-system go-build-system) (arguments (list #:import-path "github.com/go-git/go-billy/v5")) (native-inputs (list go-github-com-onsi-gomega + go-github-com-stretchr-testify go-gopkg-in-check-v1)) (propagated-inputs (list go-github-com-cyphar-filepath-securejoin @@ -3287,8 +5592,9 @@ operations.") (build-system go-build-system) (arguments (list - ;; XXX: panic: runtime error: makeslice: cap out of range + ;; XXX: The onpanic: runtime error: makeslice: cap out of range #:tests? (target-64bit?) + #:test-subdirs #~(list ".") #:import-path "github.com/go-git/go-git-fixtures/v4")) (native-inputs (list go-github-com-stretchr-testify)) @@ -3301,6 +5607,48 @@ operations.") "This package provides fixtures used by @code{go-git}.") (license license:asl2.0))) +(define-public go-github-com-go-git-go-git-fixtures-v5 + (package + (inherit go-github-com-go-git-go-git-fixtures-v4) + (name "go-github-com-go-git-go-git-fixtures-v5") + (version "5.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-git/go-git-fixtures") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mdwqdmqbqmrh21n25nqrv48zkamgw89parcbyp7k2skqk1jkjpf")))) + (arguments + (list + #:import-path "github.com/go-git/go-git-fixtures/v5")))) + +(define-public go-github-com-go-ini-ini + (package + (name "go-github-com-go-ini-ini") + (version "1.67.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-ini/ini") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vpzkjmrwp7bqqsijp61293kk2vn6lcck56j8m5y6ks6cf21lpap")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/go-ini/ini")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://gopkg.in/ini.v1") + (synopsis "INI file read and write functionality in Go") + (description + "This package provides INI file read and write functionality in Go.") + (license license:asl2.0))) + (define-public go-github-com-go-kit-log (package (name "go-github-com-go-kit-log") @@ -3454,6 +5802,78 @@ implemented features include @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.18.1") + (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 "1lgz9wrkcfx6q3x6i9fprr8rfwnk0c6x61jgzacgikbmzsl7dw6v")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/go-playground/universal-translator")) + (propagated-inputs + (list 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-github-com-go-sql-driver-mysql + (package + (name "go-github-com-go-sql-driver-mysql") + (version "1.8.1") + (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 "0ihdqg411gkv454fwx8w5nbndgkm5dz5phfliksxgmhggyxxm7sn")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/go-sql-driver/mysql" + #:test-flags + #~(list "-skip" (string-join + (list "TestConnectorReturnsTimeout" + "TestErrorInMultiResult" + "TestDSNReformat/user:p" + "FuzzFormatDSN/seed#8") + "|")))) + (propagated-inputs + (list go-filippo-io-edwards25519)) + (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-github-com-go-stack-stack (package (name "go-github-com-go-stack-stack") @@ -3470,7 +5890,13 @@ implemented features include (build-system go-build-system) (arguments (list - #:import-path "github.com/go-stack/stack")) + #:import-path "github.com/go-stack/stack" + #:test-flags + #~(list "-skip" (string-join + (list "TestCallStackString" + "TestCallStackMarshalText" + "TestTrimRuntime") + "|")))) (home-page "https://github.com/go-stack/stack") (synopsis "Utilities to capture, manipulate, and format call stacks") (description @@ -3536,6 +5962,30 @@ the library more lightweight.") (package-arguments go-github-com-go-task-slim-sprig) ((#:import-path _) "github.com/go-task/slim-sprig/v3"))))) +(define-public go-github-com-go-yaml-yaml + (package + (name "go-github-com-go-yaml-yaml") + (version "0.0.0-20220527083530-f6f7691b1fde") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-yaml/yaml") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/go-yaml/yaml")) + (native-inputs (list go-gopkg-in-check-v1)) + (propagated-inputs (list go-gopkg-in-yaml-v3)) + (home-page "https://github.com/go-yaml/yaml") + (synopsis "YAML support for the Go language") + (description "Package yaml implements YAML support for the Go language.") + (license license:asl2.0))) + (define-public go-github-com-gobwas-glob (package (name "go-github-com-gobwas-glob") @@ -3560,6 +6010,30 @@ the library more lightweight.") "This package provides a Go implementation of globs.") (license license:expat))) +(define-public go-github-com-gobwas-pool + (package + (name "go-github-com-gobwas-pool") + (version "0.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gobwas/pool") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0imipsf8nslc78in78wcri2ir2zzajp2h543dp2cshrrdbwkybx7")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/gobwas/pool")) + (home-page "https://github.com/gobwas/pool") + (synopsis "Go Pooling Helpers") + (description + "Package pool contains helpers for pooling structures distinguishable by +size.") + (license license:expat))) + (define-public go-github-com-goccy-go-yaml (package (name "go-github-com-goccy-go-yaml") @@ -3610,6 +6084,64 @@ the library more lightweight.") @end itemize") (license license:expat))) +(define-public go-github-com-godbus-dbus + (package + (name "go-github-com-godbus-dbus") + (version "0.0.0-20190726142602-4481cbc300e2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/godbus/dbus") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0h0cl1r136g0kxbw3i7ggb9mhavpi1yr7d7312iwhkxm93dxkphg")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/godbus/dbus" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? import-path #:allow-other-keys) + (when tests? + (with-directory-excursion (string-append "src/" import-path) + (invoke "dbus-run-session" "--" + "go" "test" "./..." + ;; Disable tests which require a system D-Bus + ;; instance. + "-skip" "TestSystemBus|TestConnectSystemBus")))))))) + (native-inputs + (list dbus)) ;dbus-launch + (home-page "https://github.com/godbus/dbus/") + (synopsis "Native Go client bindings for the D-Bus") + (description + "@code{dbus} is a library that implements native Go client bindings for +the D-Bus message bus system.") + (license license:bsd-2))) + +(define-public go-github-com-godbus-dbus-v5 + (package + (inherit go-github-com-godbus-dbus) + (name "go-github-com-godbus-dbus-v5") + (version "5.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/godbus/dbus") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kayd4x7idrhi06ahh5kqkgwzgh9icvv71mjar2d0jl486dfs8r5")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-godbus-dbus) + ((#:import-path _ "github.com/godbus/dbus") + "github.com/godbus/dbus/v5"))))) + + (define-public go-github-com-gofrs-flock (package (name "go-github-com-gofrs-flock") @@ -3705,6 +6237,183 @@ execution.") "The chardet package ports character set detection from ICU to Go.") (license license:expat))) +(define-public go-github-com-golang-freetype + (package + (name "go-github-com-golang-freetype") + (version "0.0.0-20170609003504-e2365dfdc4a0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/golang/freetype") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "194w3djc6fv1rgcjqds085b9fq074panc5vw582bcb8dbfzsrqxc")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/golang/freetype")) + (propagated-inputs + (list go-golang-org-x-image)) + (home-page "https://github.com/golang/freetype") + (synopsis "Freetype font rasterizer in the Go programming language") + (description + "The Freetype font rasterizer in the Go programming language.") + (license (list license:freetype + license:gpl2+)))) + +(define-public go-github-com-golangplus-bytes + (package + (name "go-github-com-golangplus-bytes") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/golangplus/bytes") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r8f9m7hm6idnbapfb01nw5h09a20b09r7sky2gkniympn98ra75")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/golangplus/bytes")) + (native-inputs + (list go-github-com-golangplus-testing-bootstrap)) + (home-page "https://github.com/golangplus/bytes") + (synopsis "Extention to Golang standard @code{bytes} library.") + (description + "Package bytesp is a plus to the standard @code{bytes} package.") + (license license:bsd-3))) + +(define-public go-github-com-golangplus-bytes-bootstrap + (hidden-package + (package + (inherit go-github-com-golangplus-bytes) + (arguments + (list #:skip-build? #t + #:tests? #f + #:import-path "github.com/golangplus/bytes")) + (native-inputs '()) + (propagated-inputs '())))) + +(define-public go-github-com-gologme-log + (package + (name "go-github-com-gologme-log") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gologme/log") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0m7dszaisviq7fgwyxg9lwhxyzdab0w7d1zbilrnarzvyx9wh3ax")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/gologme/log")) + (home-page "https://github.com/gologme/log/") + (synopsis "Fork of the golang built in log package to add support for levels") + (description + "This package is a drop in replacement for the built-in Go log package. +All the functionality of the built-in package still exists and is unchanged. +This package contains a series of small enhancements and additions.") + (license license:bsd-3))) + +(define-public go-github-com-gomodule-redigo + (package + (name "go-github-com-gomodule-redigo") + (version "1.9.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gomodule/redigo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03z02zmkl8cj73c6xrvlpj144d9ysikc25ay64dhpbzwkn16h5yv")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/gomodule/redigo" + #:test-flags + #~(list "-skip" + (string-join + ;; Run just unit tests which do not require Redis reducing + ;; closure size. + (list "TestDoCommands" + "TestPipelineCommands" + "TestBlankCommand" + "TestRecvBeforeSend" + "TestError" + "TestDialContext_CanceledContext" + "TestDialClientName" + "TestExecError" + "Test.*Pool.*" + "TestPushed" + "TestPubSubReceiveContext" + "TestSlowLog" + "TestLatency" + "TestLatencyHistories" + "TestScript" + "Example.*" + "TestConnMux" + "TestConnMuxClose") + "|")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-examples + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (for-each delete-file + (list "redis/zpop_example_test.go" + "redis/scan_test.go" + "redis/pubsub_example_test.go" + "redis/reply_test.go")))))))) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/gomodule/redigo") + (synopsis "Go client for Redis") + (description + "Redigo is a Go client for the Redis database.") + (license license:asl2.0))) + +(define-public go-github-com-google-gnostic-models + (package + (name "go-github-com-google-gnostic-models") + (version "0.6.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/gnostic-models") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0z170sw1dlspxwbgpzffry5xm8mmcq7kpkrn0zkjzwdnmjhmmdqx")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/google/gnostic-models" + #:phases + #~(modify-phases %standard-phases + (delete 'build)))) ; no go files in project's root + (propagated-inputs + (list go-google-golang-org-protobuf + go-gopkg-in-yaml-v3)) + (home-page "https://github.com/google/gnostic-models") + (synopsis "Protocol Buffer models for Gnostic") + (description + "This package provides Protocol Buffer models and associated libraries +for working with API description formats supported by +@url{https://github.com/google/gnostic,gnostic}. It exists to provide a +lightweight distribution of these models with minimal dependencies.") + (license license:asl2.0))) + (define-public go-github-com-google-goterm (package (name "go-github-com-google-goterm") @@ -3731,6 +6440,31 @@ It also contains some convenience functions for colors, SSH to and from termios translations, readCh, reading passwords, etc.") (license license:bsd-3))) +;; XXX: This repository has been archived by the owner on Dec 29, 2022. It is +;; now read-only. It's only used by kiln, consider to remove it when it does +;; no longer require it. +(define-public go-github-com-google-shlex + (package + (name "go-github-com-google-shlex") + (version "0.0.0-20191202100458-e7afc7fbc510") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/shlex") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14z8hqyik910wk2qwnzgz8mjsmiamxa0pj55ahbv0jx6j3dgvzfm")))) + (build-system go-build-system) + (arguments (list #:import-path "github.com/google/shlex")) + (home-page "https://github.com/google/shlex") + (synopsis "Simple lexer for Go") + (description + "@code{shlex} implements a simple lexer which splits input into tokens +using shell-style rules for quoting and commenting.") + (license license:asl2.0))) + (define-public go-github-com-google-subcommands (package (name "go-github-com-google-subcommands") @@ -3845,6 +6579,169 @@ underneath and returns only matching files or direcories, depending on the configuration.") (license license:expat))) +(define-public go-github-com-gorhill-cronexpr + (package + (name "go-github-com-gorhill-cronexpr") + (version "0.0.0-20180427100037-88b0669f7d75") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gorhill/cronexpr") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hc7xdfclp2qgkr1581jb3ckjvl34nxmqrnraci5jzmqx5av9j1r")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/gorhill/cronexpr")) + (home-page "https://github.com/gorhill/cronexpr") + (synopsis "Cron expression parser in the Go language") + (description + "This package provides a cron expression parser in the Go language. +Given a cron expression and a time stamp, you can get the next time stamp +which satisfies the cron expression.") + (license (list license:gpl3+ + license:asl2.0)))) + +(define-public go-github-com-gosuri-uilive + (package + (name "go-github-com-gosuri-uilive") + (version "0.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gosuri/uilive") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pwxx0w4mv908dascnxkdjq865ks01niqy71imv4kllz0a84zkag")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/gosuri/uilive")) + (home-page "https://github.com/gosuri/uilive") + (synopsis "Updating terminal output in realtime") + (description + "Package uilive provides a writer that live updates the terminal. It +provides a buffered io.Writer that is flushed at a timed interval.") + (license license:expat))) + +(define-public go-github-com-goverter-patherr + (package + (name "go-github-com-goverter-patherr") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/goverter/patherr") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zjcyva959ir23rgk2rvc7ivlyan9dh2rqw7hl03h6xq935zznjq")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/goverter/patherr")) + (home-page "https://github.com/goverter/patherr") + (synopsis "Implementation for Goverter's wrapErrorsUsing") + (description + "This package provides an implementation for the goverter feature +@code{wrapErrorsUsing}.") + (license license:expat))) + +(define-public go-github-com-guptarohit-asciigraph + (package + (name "go-github-com-guptarohit-asciigraph") + (version "0.7.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/guptarohit/asciigraph") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1j708hj80hk1b39zbdfx6kqy75i70jhz55bml0jngqwfx698d1pv")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/guptarohit/asciigraph")) + (home-page "https://github.com/guptarohit/asciigraph") + (synopsis "ASCII line graphs for Golang") + (description + "This package can generate ASCII line graphs in Golang.") + (license license:bsd-3))) + +(define-public go-github-com-hanwen-go-fuse + (package + (name "go-github-com-hanwen-go-fuse") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hanwen/go-fuse") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04xa8mh34639lv1b2p8dx13x742j5i493i3sk89hd3jfskzvval1")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/hanwen/go-fuse" + ;; Most of the tests require "/bin/fusermount" to be available which + ;; is missed during packaging, limit to some unit tests only. + #:test-subdirs #~(list "internal/..." "splice") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-example + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (delete-file-recursively "example"))))))) + (propagated-inputs + (list go-golang-org-x-sys)) + (home-page "https://github.com/hanwen/go-fuse") + (synopsis "Go bindings for FUSE filesystems") + (description + "This is a repository containing Go bindings for writing FUSE file systems.") + (license license:bsd-3))) + +(define-public go-github-com-hanwen-go-fuse-v2 + (package + (inherit go-github-com-hanwen-go-fuse) + (name "go-github-com-hanwen-go-fuse-v2") + (version "2.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hanwen/go-fuse") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fcf94chf9ffgjk0wcpnlz0kfb69m2fwzfn4k348kal75x178aar")))) + (build-system go-build-system) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-hanwen-go-fuse) + ((#:import-path _) "github.com/hanwen/go-fuse/v2") + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (add-after 'unpack 'remove-benchmark + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (delete-file-recursively "benchmark")))))))) + (propagated-inputs + (list go-github-com-kylelemons-godebug + go-github-com-moby-sys-mountinfo + go-golang-org-x-sync + go-golang-org-x-sys)))) + (define-public go-github-com-hashicorp-errwrap (package (name "go-github-com-hashicorp-errwrap") @@ -3869,6 +6766,31 @@ configuration.") wrapping errors and checking if an error contains another error.") (license license:mpl2.0))) +(define-public go-github-com-hashicorp-go-envparse + (package + (name "go-github-com-hashicorp-go-envparse") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/go-envparse") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wqb96gbfrj5986a1cg1sa0412dk7qpnh9l2w3y5q7a38v2dlh9j")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hashicorp/go-envparse")) + (home-page "https://github.com/hashicorp/go-envparse") + (synopsis "Environment variable parser for Golang") + (description + "Package envparse is a minimal environment variable parser. It handles +empty lines, comments, single quotes, double quotes, and JSON escape +sequences.") + (license license:mpl2.0))) + (define-public go-github-com-hashicorp-go-hclog (package (name "go-github-com-hashicorp-go-hclog") @@ -4169,7 +7091,10 @@ overhead is linear with the size of the cache.") (build-system go-build-system) (arguments (list - #:import-path "github.com/hashicorp/hcl")) + #:import-path "github.com/hashicorp/hcl" + #:test-subdirs + #~(list "json/..." "hcl/ast" "hcl/fmtcmd" "hcl/printer" "hcl/scanner" + "hcl/strconv" "hcl/token" "."))) (native-inputs (list go-github-com-davecgh-go-spew)) (synopsis "Go implementation of HashiCorp Configuration Language V1") @@ -4196,9 +7121,24 @@ expressing configuration which is easy for both humans and machines to read.") (build-system go-build-system) (arguments (list - #:import-path "github.com/hashicorp/hcl/v2")) + #:import-path "github.com/hashicorp/hcl/v2" + #:test-flags + #~(list "-skip" + (string-join + (list "TestExpressionParseAndValue/.*unk.*" + "TestFunctionCallExprValue/valid_call_with_unknown_arg.*" + "TestFunctionCallExprValue/valid_call_with_dynamic_arg") + "|")))) (native-inputs - (list go-github-com-davecgh-go-spew)) + (list go-github-com-apparentlymart-go-dump + go-github-com-davecgh-go-spew + go-github-com-go-test-deep + go-github-com-kr-pretty + go-github-com-kylelemons-godebug + go-github-com-sergi-go-diff + go-github-com-spf13-pflag + go-github-com-zclconf-go-cty-debug + go-golang-org-x-crypto)) (inputs (list go-github-com-agext-levenshtein go-github-com-apparentlymart-go-textseg-v13 @@ -4212,6 +7152,119 @@ expressing configuration which is easy for both humans and machines to read.") (home-page "https://github.com/hashicorp/hcl") (license license:mpl2.0))) +(define-public go-github-com-hebcal-gematriya + (package + (name "go-github-com-hebcal-gematriya") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hebcal/gematriya") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xmnb2i80dy380yv8c4pd04bbyqgbc7c40p8hz1vqj2lhbm6jabf")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hebcal/gematriya")) + (home-page "https://github.com/hebcal/gematriya") + (synopsis "Print numbers as Hebrew letters in Go") + (description + "This package provides a Go library for printing numbers as Hebrew +letters.") + (license license:bsd-2))) + +(define-public go-github-com-hebcal-greg + (package + (name "go-github-com-hebcal-greg") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hebcal/greg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1cf53ay6sj0m635k9p3f64iw03asx81aqmyrk102lzmhg838mq1a")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hebcal/greg")) + (native-inputs (list go-github-com-stretchr-testify)) + (home-page "https://github.com/hebcal/greg") + (synopsis "Converts between Gregorian dates and Rata Die day numbers") + (description + "Hebcal's greg package converts between Gregorian dates and R.D. (Rata +Die) day numbers.") + (license license:gpl2))) + +(define-public go-github-com-hebcal-hdate + (package + (name "go-github-com-hebcal-hdate") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hebcal/hdate") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0i3r3ng9ygd7ly59znw948im4z4sbp23jqj3hhgxabwhh6b8mdmf")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hebcal/hdate")) + (native-inputs (list go-github-com-stretchr-testify)) + (propagated-inputs (list go-github-com-hebcal-greg)) + (home-page "https://github.com/hebcal/hdate") + (synopsis "Converts between Hebrew and Gregorian dates") + (description + "Hebcal's hdate package converts between Hebrew and Gregorian dates.") + (license license:gpl2))) + +(define-public go-github-com-hebcal-hebcal-go + (package + (name "go-github-com-hebcal-hebcal-go") + (version "0.9.31") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hebcal/hebcal-go") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vccmjb4g8g8x733a45g78lz25k2a0avsq4zvlp94varssk8wj1q")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/hebcal/hebcal-go")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-dustin-go-humanize + go-github-com-hebcal-gematriya + go-github-com-hebcal-greg + go-github-com-hebcal-hdate + go-github-com-nathan-osman-go-sunrise)) + (home-page "https://github.com/hebcal/hebcal-go") + (synopsis "Go library for the Hebcal perpetual Jewish calendar") + (description + "This package provides a library for conversion between Hebrew and +Gregorian dates, and generation of lists of Jewish holidays for a given year. +Shabbat and holiday candle lighting and havdalah times are approximated based +on location. + +Torah readings, Daf Yomi, and counting of the Omer can also be specified. +Algorithms are included to calculate yahrzeits, birthdays, and +anniversaries.") + (license license:gpl2+))) + (define-public go-github-com-hhrutter-tiff (package (name "go-github-com-hhrutter-tiff") @@ -4242,6 +7295,78 @@ expressing configuration which is easy for both humans and machines to read.") @end itemize") (license license:bsd-3))) +(define-public go-github-com-hodgesds-perf-utils + (package + (name "go-github-com-hodgesds-perf-utils") + (version "0.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hodgesds/perf-utils") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wrma5rn0pybav8lwmv5xjwjl6slgnr8ya64f1npijam59r7afzj")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hodgesds/perf-utils" + #:test-flags + ;; XXX: Tests requiring root access to mount file system or shaky, check + ;; if they may be fixed. + #~(list "-skip" + (string-join + (list "TestAvailableEvents" + "TestAvailablePMUs" + "TestBusCycles" + "TestCPURefCycles" + "TestDebugFSMount" + "TestGroupProfiler" + "TestLLCache" + "TestMSR" + "TestMSRPaths" + "TestNodeCache" + "TestProfiler" + "TestSoftwareProfiler" + "TestTraceFSMount") + "|")))) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-golang-org-x-sys + go-go-uber-org-multierr)) + (home-page "https://github.com/hodgesds/perf-utils") + (synopsis "Perf Utilities for Golang") + (description + "This package is a Go library for interacting with the @code{perf} +subsystem in Linux.") + (license license:expat))) + +(define-public go-github-com-huandu-xstrings + (package + (name "go-github-com-huandu-xstrings") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/huandu/xstrings") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04z4xb22mi03a772f1si2fqwi5vn5584afzxas73jc6n6sppz0db")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/huandu/xstrings")) + (home-page "https://github.com/huandu/xstrings/") + (synopsis "Collection of string functions") + (description + "Go package xstrings is a collection of string functions,which are widely +used in other languages but absent in Go package strings.") + (license license:expat))) + (define-public go-github-com-ianlancetaylor-demangle ;; No release, see <https://github.com/ianlancetaylor/demangle/issues/21>. (package @@ -4270,6 +7395,79 @@ the C++ ABI defined at https://codesourcery.com/cxx-abi/ and the ABI}.") (license license:bsd-3))) +(define-public go-github-com-iancoleman-orderedmap + (package + (name "go-github-com-iancoleman-orderedmap") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/iancoleman/orderedmap") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rkahhb86ngvzjmdlrpw9rx24a0b1yshq2add1ry2ii6nkx0xbfs")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/iancoleman/orderedmap")) + (home-page "https://github.com/iancoleman/orderedmap") + (synopsis "Ordered map in Golang") + (description + "This package provides a Golang data type for ordered maps where the keys +keep the order that they're added. It can be de/serialized from/to JSON.") + (license license:expat))) + +(define-public go-github-com-iancoleman-strcase + (package + (name "go-github-com-iancoleman-strcase") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/iancoleman/strcase") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "169fb56kiif2gq92b7hvh9xgl2n8kjmdg4gqaa1492kb97ia8lwm")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/iancoleman/strcase")) + (home-page "https://github.com/iancoleman/strcase") + (synopsis "Converting to snake_case or CamelCase") + (description + "Package strcase converts strings to various cases.") + (license license:expat))) + +(define-public go-github-com-invopop-yaml + (package + (name "go-github-com-invopop-yaml") + (version "0.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/invopop/yaml") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0isvalfivw39hjj20y28g4yws0plzqaym8asz3sr5lfwv5gnq7zg")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/invopop/yaml")) + (propagated-inputs + (list go-gopkg-in-yaml-v3)) + (home-page "https://github.com/invopop/yaml") + (synopsis "YAML marshaling and unmarshaling support for Golang") + (description + "This package provides a wrapper around go-yaml designed to enable a +better way of handling YAML when marshaling to and from structs.") + (license license:expat))) + (define-public go-github-com-itchyny-timefmt-go (package (name "go-github-com-itchyny-timefmt-go") @@ -4293,6 +7491,679 @@ ABI}.") time strings.") (license license:expat))) +(define-public go-github-com-jackc-chunkreader + (package + (name "go-github-com-jackc-chunkreader") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/chunkreader") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zsxsd6alk51lssq1xq194sf88awj083fjiy7pk3098v2nj9m65l")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jackc/chunkreader")) + (home-page "https://github.com/jackc/chunkreader") + (synopsis "Wrapper for @code{io.Reader}") + (description + "ChunkReader is a @code{io.Reader} wrapper that minimizes IO reads and +memory allocations. It allocates memory in chunks and will read as much as +will fit in the current buffer in a single call regardless of how large a read +is actually requested. The memory returned via Next is owned by the caller. +This avoids the need for an additional copy. It extracted from original +implementation in https://github.com/jackc/pgx.") + (license license:expat))) + +(define-public go-github-com-jackc-chunkreader-v2 + (package + (inherit go-github-com-jackc-chunkreader) + (name "go-github-com-jackc-chunkreader-v2") + (version "2.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/chunkreader") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fj585hp3s4cjfzncr5gmim96p0b956pqdf4nm7yan1ipfch9l1c")))) + (arguments + (list + #:import-path "github.com/jackc/chunkreader/v2")))) + +(define-public go-github-com-jackc-pgconn + (package + (name "go-github-com-jackc-pgconn") + (version "1.14.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/pgconn") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rqx0y9k6g8ydcpciv3k246hfd5am4yw4jg3cbq4wlfny01ksh3y")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jackc/pgconn" + #:test-flags + #~(list "-skip" + (string-join + (list "TestConfigCopyCanBeUsedToConnect" + "TestConnStress" + "TestFrontendFatalErrExec" + "TestLRUModePrepare" + "TestLRUContext" + "TestLRUStmtInvalidationIntegration" + "TestLRUModeDescribe" + "TestLRUModePrepareStress" + "TestLRUStmtInvalidation") + "|")) + #:phases + #~(modify-phases %standard-phases + ;; All tests in this file rquire PostgreSQL service running. + (add-before 'check 'remove-failing-test-files + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (delete-file "pgconn_test.go"))))))) + (native-inputs + (list go-github-com-jackc-pgmock-bootstrap + go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-jackc-chunkreader-v2 + go-github-com-jackc-pgio + go-github-com-jackc-pgpassfile + go-github-com-jackc-pgproto3-v2 + go-github-com-jackc-pgservicefile + go-golang-org-x-crypto + go-golang-org-x-text)) + (home-page "https://github.com/jackc/pgconn") + (synopsis "Low-level PostgreSQL database driver") + (description + "Package pgconn is a low-level PostgreSQL database driver. It operates +at nearly the same level as the C library libpq. + +It is primarily intended to serve as the foundation for higher level libraries +such as @url{https://github.com/jackc/pgx}. Applications should handle normal +queries with a higher level library and only use pgconn directly when required +for low-level access to PostgreSQL functionality.") + (license license:expat))) + +(define-public go-github-com-jackc-pgconn-bootstrap + (hidden-package + (package + (inherit go-github-com-jackc-pgconn) + (arguments + (list #:tests? #f + #:import-path "github.com/jackc/pgconn" + #:phases + #~(modify-phases %standard-phases + (delete 'build)))) + (native-inputs '())))) + +(define-public go-github-com-jackc-pgerrcode + (package + (name "go-github-com-jackc-pgerrcode") + (version "0.0.0-20240316143900-6e2875d9b438") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/pgerrcode") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00csrjkg8fg97q5wy4r2wqi88w7g1cj0f5xkp5442nz3agmkxgrj")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jackc/pgerrcode")) + (home-page "https://github.com/jackc/pgerrcode") + (synopsis "Constants for PostgreSQL error codes") + (description + "Package pgerrcode contains constants for @code{PostgreSQL} error +codes.") + (license license:expat))) + +(define-public go-github-com-jackc-pgio + (package + (name "go-github-com-jackc-pgio") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/pgio") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0l17gpn11wf6jm5kbfmxh8j00n5zpmwck3wr91f1cv34k4chyvg1")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jackc/pgio")) + (home-page "https://github.com/jackc/pgio") + (synopsis "Low-level toolkit building messages in the PostgreSQL wire protocol") + (description + "Package pgio is a low-level toolkit building messages in the +@code{PostgreSQL} wire protocol.") + (license license:expat))) + +(define-public go-github-com-jackc-pgpassfile + (package + (name "go-github-com-jackc-pgpassfile") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/pgpassfile") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1crw06lzksgimbmr1a3sr00azg2v7l4qkvjra1cpmzzq5mncaj8z")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jackc/pgpassfile")) + (native-inputs (list go-github-com-stretchr-testify)) + (home-page "https://github.com/jackc/pgpassfile") + (synopsis "PostgreSQL .pgpass files parser") + (description + "Package pgpassfile is a parser @code{PostgreSQL} .pgpass files.") + (license license:expat))) + +(define-public go-github-com-jackc-pgproto3 + (package + (name "go-github-com-jackc-pgproto3") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/pgproto3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03vpkqa6j4sanmsj7q13fb6yamspszfv38sr28d40g887bcwf0j8")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jackc/pgproto3")) + (propagated-inputs + (list go-github-com-jackc-chunkreader + go-github-com-jackc-pgio + go-github-com-pkg-errors)) + (home-page "https://github.com/jackc/pgproto3") + (synopsis "Encoder and decoder of the PostgreSQL wire protocol version 3") + (description + "This package provides a encoder and decoder of the @code{PostgreSQL} +wire protocol version 3.") + (license license:expat))) + +(define-public go-github-com-jackc-pgproto3-v2 + (package + (inherit go-github-com-jackc-pgproto3) + (name "go-github-com-jackc-pgproto3-v2") + (version "2.3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/pgproto3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bmj1bqnn5863178a0k8m3f9xv48zs10z96dm2rl28ybx33d2l77")))) + (arguments + (list + #:import-path "github.com/jackc/pgproto3/v2")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-jackc-chunkreader-v2 + go-github-com-jackc-pgio)))) + +(define-public go-github-com-jackc-pgservicefile + (package + (name "go-github-com-jackc-pgservicefile") + (version "0.0.0-20240606120523-5a60cdf6a761") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/pgservicefile") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0z8ndfdxx5r4dpjbjn9caq9w56lrzwm6nh8jwwk0gnq0n2q4cfhi")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jackc/pgservicefile")) + (native-inputs (list go-github-com-stretchr-testify)) + (home-page "https://github.com/jackc/pgservicefile") + (synopsis "Parser PostgreSQL for service files") + (description + "Package pgservicefile is a parser for @code{PostgreSQL} service +files (e.g. .pg_service.conf).") + (license license:expat))) + +(define-public go-github-com-jackc-pgtype + (package + (name "go-github-com-jackc-pgtype") + (version "1.14.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/pgtype") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04yd3b1c1qph6g1giskmm49c9hk0scagfqd08bhj1pprvp9jmn2f")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f ; test require running PostgreSQL + #:import-path "github.com/jackc/pgtype")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-gofrs-uuid + go-github-com-jackc-pgconn + go-github-com-jackc-pgio + go-github-com-jackc-pgx-v4-bootstrap + go-github-com-lib-pq + go-github-com-shopspring-decimal)) + (home-page "https://github.com/jackc/pgtype") + (synopsis "PostgreSQL types implementations in Golang") + (description + "This package implements Go types for over 70 PostgreSQL types. It is +the type system underlying the https://github.com/jackc/pgx PostgreSQL driver. +These types support the binary format for enhanced performance with pgx. They +also support the database/sql @code{Scan} and @code{Value} interfaces and can +be used with https://github.com/lib/pq.") + (license license:expat))) + +(define-public go-github-com-jackc-pgtype-bootstrap + (hidden-package + (package + (inherit go-github-com-jackc-pgtype) + (arguments + (list #:tests? #f + #:import-path "github.com/jackc/pgtype" + #:phases + #~(modify-phases %standard-phases + (delete 'build)))) + (native-inputs '()) + (propagated-inputs '())))) + +(define-public go-github-com-jackc-pgx + (package + (name "go-github-com-jackc-pgx") + (version "3.6.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/pgx") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hbnh69ss0pq83n18b62znj3qi54y9kr31a3xi9h35p27nsk3izf")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jackc/pgx" + #:test-subdirs + #~(list ;; "pgtype/..." ; most tests require networking setup + ;; "stdlib" + ;; "." ; github.com/jackc/pgx [build failed] + "chunkreader" + "internal/sanitize" + "log/..." + "pgio" + "pgproto3") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-examples-and-benchmarks + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (delete-file-recursively "examples"))))))) + (native-inputs + (list go-github-com-cockroachdb-apd + go-github-com-jackc-fake)) + (propagated-inputs + (list go-github-com-gofrs-uuid + go-github-com-lib-pq + go-github-com-rs-zerolog + go-github-com-satori-go-uuid + go-github-com-shopspring-decimal + go-github-com-sirupsen-logrus + go-go-uber-org-zap)) + (home-page "https://github.com/jackc/pgx") + (synopsis "PostgreSQL driver and toolkit for Golang") + (description + "This package implements a pure Go driver and toolkit for PostgreSQL. It +is different from other drivers such as +@url{http://godoc.org/github.com/lib/pq,pq} because, while it can operate as a +database/sql compatible driver, pgx is also usable directly. It offers a +native interface similar to database/sql that offers better performance and +more features.") + (license license:expat))) + +(define-public go-github-com-jackc-pgx-v4 + (package + (inherit go-github-com-jackc-pgx) + (name "go-github-com-jackc-pgx-v4") + (version "4.18.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/pgx") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xxvkgngl8c73zg06xdm5sqvck6yvrvjpzidpmsaah1az0lh1lay")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-jackc-pgx) + ((#:import-path _) "github.com/jackc/pgx/v4") + ((#:test-subdirs _) #~(list "internal/sanitize" "log/...")))) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-cockroachdb-apd + go-github-com-go-kit-log + go-github-com-gofrs-uuid + go-github-com-jackc-pgconn + go-github-com-jackc-pgio + go-github-com-jackc-pgproto3-v2 + go-github-com-jackc-pgtype-bootstrap + go-github-com-jackc-puddle + go-github-com-masterminds-semver-v3 + go-github-com-rs-zerolog + go-github-com-shopspring-decimal + go-github-com-sirupsen-logrus + go-go-uber-org-zap + go-gopkg-in-inconshreveable-log15-v2)))) + +(define-public go-github-com-jackc-pgx-v4-bootstrap + (hidden-package + (package + (inherit go-github-com-jackc-pgx-v4) + (arguments + (list #:tests? #f + #:import-path "github.com/jackc/pgx/v4" + #:phases + #~(modify-phases %standard-phases + (delete 'build)))) + (native-inputs '()) + (propagated-inputs '())))) + +(define-public go-github-com-jackc-pgx-v5 + (package + (inherit go-github-com-jackc-pgx-v4) + (name "go-github-com-jackc-pgx-v5") + (version "5.7.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/pgx") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0b8wgqax34q77m4pmaaqlp9dr1x9mam76jx7ah1sxdldl737rv27")))) + (build-system go-build-system) + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-jackc-pgx-v4) + ((#:import-path _) "github.com/jackc/pgx/v5") + ((#:test-subdirs _) + #~(list "internal/..." + "log/..." + "multitracer")))) + (propagated-inputs + (list go-github-com-jackc-pgpassfile + go-github-com-jackc-pgservicefile + go-github-com-jackc-puddle-v2 + go-golang-org-x-crypto + go-golang-org-x-sync + go-golang-org-x-text)))) + +(define-public go-github-com-jackc-puddle + (package + (name "go-github-com-jackc-puddle") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/puddle") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0382q7xjdw5wx6174i2sf4gnc5ppgj9snvrvh3rcnwg02yd0np38")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jackc/puddle")) + (native-inputs (list go-github-com-stretchr-testify)) + (home-page "https://github.com/jackc/puddle") + (synopsis "Generic resource pool for Golang") + (description + "Puddle is a tiny generic resource pool library hat uses the standard +context library to signal cancellation of acquires. It is designed to contain +the minimum functionality required for a resource pool. It can be used +directly or it can be used as the base for a domain specific resource pool. +For example, a database connection pool may use puddle internally and +implement health checks and keep-alive behavior without needing to implement +any concurrent code of its own.") + (license license:expat))) + +(define-public go-github-com-jackc-puddle-v2 + (package + (inherit go-github-com-jackc-puddle) + (name "go-github-com-jackc-puddle-v2") + (version "2.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackc/puddle") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0agbk4nnja0fahi8mjp1y5ac9vjsjhldjwx9zshw0zjqhaxmsk11")))) + (arguments + (list + #:import-path "github.com/jackc/puddle/v2")) + (propagated-inputs + (list go-golang-org-x-sync)))) + +(define-public go-github-com-jacobsa-fuse + (package + (name "go-github-com-jacobsa-fuse") + (version "0.0.0-20241025064006-8ccd61173b05") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jacobsa/fuse") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zf9fhv5j0pffmp4c0zba58627lb6cwr2qxjsa3dwba9b8fiz7sf")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f ; requires fusermount + #:import-path "github.com/jacobsa/fuse")) + (native-inputs + (list go-github-com-detailyang-go-fallocate + go-github-com-jacobsa-ogletest + go-github-com-kylelemons-godebug)) + (propagated-inputs + (list go-github-com-jacobsa-oglematchers + go-github-com-jacobsa-syncutil + go-github-com-jacobsa-timeutil + go-golang-org-x-net + go-golang-org-x-sys)) + (home-page "https://github.com/jacobsa/fuse") + (synopsis "FUSE file system in Golang") + (description + "Package fuse enables writing and mounting user-space file systems. +Subpackages: +@itemize +@item @code{fuse} provides support for mounting a new file system and reading +requests from the kernel + +@item @code{fuseops} enumerates the supported requests from the kernel, and +provides documentation on their semantics + +@item @code{fuseutil}, in particular the @code{FileSystem} interface, provides +a convenient way to create a file system type and export it to the kernel via +@code{fuse.Mount}. +@end itemize") + (license license:asl2.0))) + +(define-public go-github-com-jacobsa-syncutil + (package + (name "go-github-com-jacobsa-syncutil") + (version "0.0.0-20180201203307-228ac8e5a6c3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jacobsa/syncutil") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dylp0qaabm8djqmn0qjki3gy9wnq23cbr4k4g63zk4axqgm2ns2")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jacobsa/syncutil")) + (native-inputs + (list go-github-com-jacobsa-oglematchers + go-github-com-jacobsa-ogletest)) + (propagated-inputs + (list go-golang-org-x-net)) + (home-page "https://github.com/jacobsa/syncutil") + (synopsis "Code supplementing Go's sync package") + (description + "This package contains code that supplements the +@url{http://godoc.org/sync,sync} package from the Go standard library. + +In particular: +@itemize +@item Bundle, which makes it easy to write code that spawns multiple +cancellation-aware workers that may fail +@item invariantMutex, which makes it possible to automatically check your +invariants at lock and unlock time +@end itemize") + (license license:asl2.0))) + +(define-public go-github-com-jacobsa-timeutil + (package + (name "go-github-com-jacobsa-timeutil") + (version "0.0.0-20170205232429-577e5acbbcf6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jacobsa/timeutil") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vp6ngfyw3z3n7fzqpijqh26mnwnhapy5x4kzly1qb8gmv15a8xb")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jacobsa/timeutil")) + (native-inputs + (list go-github-com-jacobsa-oglematchers + go-github-com-jacobsa-ogletest)) + (home-page "https://github.com/jacobsa/timeutil") + (synopsis "Code supplementing Go's time package") + (description + "This package contains code that supplements the +@url{http://godoc.org/time, time} package from the Go standard library. + +In particular: +@itemize +@item a Clock interface, with a fake implementation that can be used in tests +@item implementations of +@url{https://godoc.org/github.com/jacobsa/oglematchers#Matcher, +oglematchers.Matcher} for time values +@end itemize") + (license license:asl2.0))) + +(define-public go-github-com-jba-templatecheck + (package + (name "go-github-com-jba-templatecheck") + (version "0.7.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jba/templatecheck") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03nlpfgjiiqqhf0df6vgvxi7kn58ykh0jhnrffpa32wv2w67ndxz")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.22 + #:import-path "github.com/jba/templatecheck")) + (propagated-inputs + (list go-github-com-google-safehtml)) + (home-page "https://github.com/jba/templatecheck") + (synopsis "Checks Go templates for problems") + (description + "Package templatecheck checks Go templates for problems. It can detect +many errors that are normally caught only during execution. Use templatecheck +in tests to find template errors early, and along template execution paths +that might only rarely be reached.") + (license license:expat))) + +(define-public go-github-com-jbenet-go-context + (package + (name "go-github-com-jbenet-go-context") + (version "0.0.0-20150711004518-d14ea06fba99") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jbenet/go-context") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jbenet/go-context")) + (propagated-inputs + (list go-golang-org-x-net)) + (home-page "https://github.com/jbenet/go-context/") + (synopsis "@code{jbenet's} context extensions") + (description + "This package provides @code{jbenet's} context extensions.") + (license license:expat))) + (define-public go-github-com-jbenet-go-random (package (name "go-github-com-jbenet-go-random") @@ -4370,6 +8241,60 @@ more like a Context-WaitGroup hybrid. @code{goprocess} is about being able to s and stop units of work, which may receive @code{Close} signals from many clients.") (license license:expat))) +(define-public go-github-com-jcmturner-gofork + (package + (name "go-github-com-jcmturner-gofork") + (version "1.7.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jcmturner/gofork") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0w1j6b671121r6md5w7hnh2d0sa332pw5q49yihw23wdfinknyin")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jcmturner/gofork")) + (home-page "https://github.com/jcmturner/gofork") + (synopsis "Modified Go standard library packages") + (description + "This repository contains modified Go standard library packages for use +as work arounds until issues are addressed in the official distribution.") + (license license:bsd-3))) + +(define-public go-github-com-jdkato-go-tree-sitter-julia + (package + (name "go-github-com-jdkato-go-tree-sitter-julia") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jdkato/go-tree-sitter-julia") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17xr33vvrqsl0v1xzb3ya99anhg5zf04kp6wfk1m3iqi904ff0am")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/jdkato/go-tree-sitter-julia")) + (propagated-inputs + (list go-github-com-smacker-go-tree-sitter)) + (home-page "https://github.com/jdkato/go-tree-sitter-julia") + (synopsis "Julia grammar for tree sitter") + (description + "This package provides a Julia grammar for +@url{https://github.com/tree-sitter/tree-sitter, tree-sitter} bindings in +Golang.") + ;; It's a component of Vale, written by the same author and does not + ;; provide license. + (license license:unlicense))) + (define-public go-github-com-jdkato-twine (package (name "go-github-com-jdkato-twine") @@ -4419,6 +8344,68 @@ and stop units of work, which may receive @code{Close} signals from many clients "NLP-related string utility functions for Golang.") (license license:expat))) +(define-public go-github-com-jedib0t-go-pretty-v6 + (package + (name "go-github-com-jedib0t-go-pretty-v6") + (version "6.6.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jedib0t/go-pretty") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sy8fia04lxi07yga7z3h3fp19y4bla5p16v1n7ldip0ymdmvjnx")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/jedib0t/go-pretty/v6")) + (native-inputs + (list go-github-com-pkg-profile ; for the CLI + go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-mattn-go-runewidth + go-golang-org-x-sys + go-golang-org-x-term + go-golang-org-x-text)) + (home-page "https://github.com/jedib0t/go-pretty") + (synopsis "Table-writer and more in Golang") + (description + "Utilities to prettify console output of tables, lists, progress-bars, +text, etc. with a heavy emphasis on customization.") + (license license:expat))) + +(define-public go-github-com-jessevdk-go-flags + (package + (name "go-github-com-jessevdk-go-flags") + (version "1.6.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jessevdk/go-flags") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1dxk8n06sh15rm7777v5jgwxz9ca1c090ni6lyjhj1d2lxfysb45")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jessevdk/go-flags" + #:test-flags #~(list "-skip" "TestCompletion|TestParserCompletion"))) + (propagated-inputs + (list go-golang-org-x-sys)) + (home-page "https://github.com/jessevdk/go-flags") + (synopsis "Go library for parsing command line arguments") + (description + "The @code{flags} package provides a command line option parser. The +functionality is similar to the go builtin @code{flag} package, but +@code{flags} provides more options and uses reflection to provide a succinct +way of specifying command line options.") + (license license:bsd-3))) + (define-public go-github-com-jinzhu-copier (package (name "go-github-com-jinzhu-copier") @@ -4442,6 +8429,83 @@ and stop units of work, which may receive @code{Close} signals from many clients struct to another.") (license license:expat))) +(define-public go-github-com-jmattheis-goverter + (package + (name "go-github-com-jmattheis-goverter") + (version "1.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jmattheis/goverter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ph8470wxpf8p2cdr5w3hkchlgpiyzljlsdna9jvhgw53sf2c32n")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jmattheis/goverter" + ;; Test requiring compplex set-up, fails during build but passed outside + ;; build-system. + #:test-flags #~(list "-skip" "TestScenario") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-broken-examples + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (for-each delete-file-recursively + (list "example/enum/transform-custom" + "example/wrap-errors-using" + "example/protobuf")))))))) + (native-inputs + (list go-github-com-stretchr-testify + go-github-com-goverter-patherr)) + (propagated-inputs + (list go-github-com-dave-jennifer + go-golang-org-x-tools + go-gopkg-in-yaml-v3)) + (home-page "https://github.com/jmattheis/goverter") + (synopsis "Type-safe Go converters by defining function signatures") + (description + "This package provides a functionality to generate type-safe converters +for Go. The project is meant as alternative to +@url{https://github.com/jinzhu/copier, jinzhu/copier} that doesn't use +reflection.") + (license license:expat))) + +(define-public go-github-com-jmoiron-sqlx + (package + (name "go-github-com-jmoiron-sqlx") + (version "1.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jmoiron/sqlx") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10rg9b6cl1j7jjr6z95xa1k45016mhicii3cmz0pkwrxw3dpfzfh")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jmoiron/sqlx")) + (propagated-inputs + (list go-github-com-go-sql-driver-mysql + go-github-com-lib-pq + go-github-com-mattn-go-sqlite3)) + (home-page "https://github.com/jmoiron/sqlx") + (synopsis "General purpose extensions to golang's @code{database/sql}") + (description + "sqlx is a library which provides a set of extensions on go's standard +@code{database/sql} library. The sqlx versions of @code{sql.DB}, +@code{sql.TX}, @code{sql.Stmt}, et al. all leave the underlying interfaces +untouched, so that their interfaces are a superset on the standard ones. This +makes it relatively painless to integrate existing codebases using +database/sql with sqlx.") + (license license:expat))) + (define-public go-github-com-johnkerl-lumin (package (name "go-github-com-johnkerl-lumin") @@ -4469,6 +8533,30 @@ just matching lines. This package proviedes a CLI tool and @code{colors} library.") (license license:bsd-2))) +(define-public go-github-com-joho-godotenv + (package + (name "go-github-com-joho-godotenv") + (version "1.5.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/joho/godotenv") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03vijs05k31jdf24pzj3vlk6b5jxf894v1kvzals4wzclyq2h3ch")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/joho/godotenv")) + (home-page "https://github.com/joho/godotenv") + (synopsis "Golang libary to load environment variables from @code{.env}") + (description + "This package provides a Go port of the Ruby's dotenv library +https://github.com/bkeepers/dotenv.") + (license license:expat))) + (define-public go-github-com-jonboulle-clockwork (package (name "go-github-com-jonboulle-clockwork") @@ -4566,6 +8654,35 @@ called concurrently with themselves and each other.") "This package is a simple exponential backoff counter in Go.") (license license:expat)))) +(define-public go-github-com-juju-ansiterm + (package + (name "go-github-com-juju-ansiterm") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/juju/ansiterm") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05mk7mlvg11dd6b0j0wlq547ghbmx2ywwrlbcb4kddpg7qaqp1va")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/juju/ansiterm")) + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github-com-mattn-go-isatty + go-github-com-mattn-go-colorable + go-github-com-lunixbochs-vtclean)) + (home-page "https://github.com/juju/ansiterm") + (synopsis "Writer to output ANSI escape codes for color and styles") + (description + "The ansiterm package provides a writer to output the ANSI escape codes +for color and styles.") + (license license:lgpl3))) + (define-public go-github-com-k0kubun-go-ansi (package (name "go-github-com-k0kubun-go-ansi") @@ -4618,6 +8735,83 @@ ansi.") customized globally.") (license license:expat))) +;; Some packages (Yggdrasil) need it to compile it's a tiny package and it's +;; easier to bundle it than to patch it out. +(define-public go-github-com-kardianos-minwinsvc + (package + (name "go-github-com-kardianos-minwinsvc") + (version "1.0.2") + (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 "02k2vibmm65bzkdjpmllphvq88wwyz3m02lbz8bffcpxjad2453v")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/kardianos/minwinsvc")) + (home-page "https://github.com/kardianos/minwinsvc/") + (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-kardianos-osext + (package + (name "go-github-com-kardianos-osext") + (version "0.0.0-20190222173326-2bc1f35cddc0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kardianos/osext") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pvrbrvmrf4mx0fxbfaphbzgqgwn8v6lkfk2vyrs0znxrs1xyc5r")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/kardianos/osext")) + (home-page "https://github.com/kardianos/osext") + (synopsis "Find the running executable") + (description + "Osext provides a method for finding the current executable file that is +running. This can be used for upgrading the current executable or finding +resources located relative to the executable file.") + (license license:bsd-3))) + +(define-public go-github-com-kardianos-service + (package + (name "go-github-com-kardianos-service") + (version "1.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kardianos/service") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wcrc632nf2l5gzwgjfpx7bh6v4la0qjmaykj58fysabb9fkk9dy")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/kardianos/service" + #:test-flags #~(list "-skip" "TestPlatformName"))) + (propagated-inputs (list go-golang-org-x-sys)) + (home-page "https://github.com/kardianos/service") + (synopsis "Run go programs as a service") + (description + "This package provides a simple way to create a system service.") + (license license:zlib))) + (define-public go-github-com-karrick-godirwalk (package (name "go-github-com-karrick-godirwalk") @@ -4635,12 +8829,95 @@ customized globally.") (arguments (list #:import-path "github.com/karrick/godirwalk")) + ;; To build all examples as a test scenario. + (native-inputs + (list go-github-com-karrick-golf + go-github-com-mattn-go-isatty)) (home-page "https://github.com/karrick/godirwalk") (synopsis "Fast directory traversal library for Go") (description "This package provides functions to read and traverse directory trees.") (license license:bsd-2))) +(define-public go-github-com-karrick-golf + (package + (name "go-github-com-karrick-golf") + (version "1.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/karrick/golf") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0iskalk32zqiwwrfmi9lcd1s69xgn3yl056xcm5q4y5znbs96fac")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/karrick/golf" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-examples + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (delete-file-recursively "example"))))))) + (home-page "https://github.com/karrick/golf") + (synopsis "Light-weight long and short command line option parser") + (description + "Go long flag: a light-weight long and short command line option parser.") + (license license:bsd-3))) + +(define-public go-github-com-kataras-golog + (package + (name "go-github-com-kataras-golog") + (version "0.1.12") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kataras/golog") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1szibhgxmkd52gz6i77p3fwlxqyidj7l5vf59pjl5bjy8ggv0kpv")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/kataras/golog")) + (propagated-inputs + (list go-github-com-kataras-pio)) + (home-page "https://github.com/kataras/golog") + (synopsis "Logging foundation for Go applications") + (description + "GoLog is a level-based logger written in Go.") + (license license:bsd-3))) + +(define-public go-github-com-kataras-pio + (package + (name "go-github-com-kataras-pio") + (version "0.0.13") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kataras/pio") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1z0fkhs6amnkvb02519pfxy2x2r5sfmvdzxfi31ipa17m98pk3bq")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/kataras/pio")) + (home-page "https://github.com/kataras/pio") + (synopsis "Pill for Input/Output") + (description + "PIO is a low-level package that provides a way to centralize different +output targets. Supports colors and text decoration to all popular +terminals.") + (license license:bsd-3))) + (define-public go-github-com-kballard-go-shellquote ;; No release, see <https://github.com/kballard/go-shellquote/issues/13>. (let ((commit "95032a82bc518f77982ea72343cc1ade730072f0") @@ -4668,6 +8945,122 @@ word-splitting rules.") (home-page "https://github.com/kballard/go-shellquote") (license license:expat)))) +(define-public go-github-com-kevinburke-ssh-config + (package + (name "go-github-com-kevinburke-ssh-config") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kevinburke/ssh_config") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jvv3i0g8ll210xlbxy8ywj09gab0im676rmnywh3wlpdhxdkbjd")))) + (arguments + (list + #:import-path "github.com/kevinburke/ssh_config")) + (build-system go-build-system) + (home-page "https://github.com/kevinburke/ssh_config/") + (synopsis "Parser for @file{ssh_config} files") + (description + "This is a Go parser for @file{ssh_config} files. Importantly, this +parser attempts to preserve comments in a given file, so you can manipulate a +@file{ssh_config} file from a program.") + (license license:expat))) + +(define-public go-github-com-keybase-dbus + (package + (name "go-github-com-keybase-dbus") + (version "0.0.0-20220506165403-5aa21ea2c23a") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/keybase/dbus") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ihicxqq685jy47dw522b5c7b8vcikay0xph6y55jcas3m3zj1lj")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f; tests require running D-bus + #:import-path "github.com/keybase/dbus")) + (home-page "https://github.com/keybase/dbus") + (synopsis "Native Go bindings for D-Bus") + (description + "Package dbus implements bindings to the D-Bus message bus system. +Features: +@itemize +@item complete native implementation of the D-Bus message protocol +@item go-like API (channels for signals / asynchronous method calls, +Goroutine-safe connections) +@item subpackages that help with the introspection / property interfaces +@end itemize") + (license license:bsd-2))) + +(define-public go-github-com-keybase-go-ps + (package + (name "go-github-com-keybase-go-ps") + (version "0.0.0-20190827175125-91aafc93ba19") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/keybase/go-ps") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1la7m9pd1rrij727g34k9d2iapqwrkwdkqwpkbsbcq8ig0fg634h")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/keybase/go-ps" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (substitute* (find-files "." "test\\.go") + (("/bin/sleep") (which "sleep"))) + (substitute* "process_openbsd.go" + (("^// \\+build ignore") "")))))))) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/keybase/go-ps") + (synopsis "Process list library for Go") + (description + "Go-Ps is a library for Go that implements OS-specific APIs to list and +manipulate processes in a safe way.") + (license license:expat))) + +(define-public go-github-com-klauspost-asmfmt + (package + (name "go-github-com-klauspost-asmfmt") + (version "1.3.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/klauspost/asmfmt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01qas9x9qb0s1aiq0235p8hvvqqn76ff0cs4cg71paxcy6l1a4k3")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/klauspost/asmfmt")) + (home-page "https://github.com/klauspost/asmfmt") + (synopsis "Go Assembler Formatter") + (description + "This package implements functionality to format Assembler code the same +way that @code{gofmt} formats Go code.") + (license license:expat))) + (define-public go-github-com-klauspost-cpuid (package (name "go-github-com-klauspost-cpuid") @@ -4713,6 +9106,165 @@ very eas to use.") (list #:import-path "github.com/klauspost/cpuid/v2")))) +(define-public go-github-com-klauspost-reedsolomon + (package + (name "go-github-com-klauspost-reedsolomon") + (version "1.12.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/klauspost/reedsolomon") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04j6arqk9pisn3yjr9k90nmfs51fh5i7firl7lzs3x98d84qq5lv")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/klauspost/reedsolomon" + #:test-flags #~(list "-short") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-examples-and-benchmarks + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (delete-file-recursively "benchmark") + (delete-file-recursively "examples")))) + (add-before 'build 'go-generate + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (invoke "go" "generate" "-v" "-n" "_gen"))))))) + (propagated-inputs (list go-github-com-klauspost-cpuid-v2)) + (home-page "https://github.com/klauspost/reedsolomon") + (synopsis "Reed-Solomon algorithm implementation in Golang") + (description + "Package reedsolomon enables +@url{https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction, +Erasure Coding}. It's a Go port of the +@url{https://github.com/Backblaze/JavaReedSolomon, JavaReedSolomon}. + +For encoding high shard counts (>256) a Leopard implementation is used. For +most platforms this performs close to the original Leopard implementation in +terms of speed.") + (license license:expat))) + +(define-public go-github-com-kljensen-snowball + (package + (name "go-github-com-kljensen-snowball") + (version "0.10.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kljensen/snowball") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ldc8hw13jwffhfac3w19033rxg8042jpwnw16l5mnwc0rg8b23l")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/kljensen/snowball")) + (home-page "https://github.com/kljensen/snowball") + (synopsis "Go implementation of the Snowball stemmers") + (description + "This package provides a implementation of the +@url{http://snowball.tartarus.org/, Snowball stemmer} for natural language +processing.") + (license license:expat))) + +(define-public go-github-com-knz-go-libedit + (package + (name "go-github-com-knz-go-libedit") + (version "1.10.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/knz/go-libedit") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04a5ryzldsk7agybcz4rpd7g1v5vh7smawlky58bwj0341083p44")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/knz/go-libedit" + #:phases + #~(modify-phases %standard-phases + ;; These steps are taken from the project's README. + (add-after 'unpack 'use-system-wide-libedit + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (substitute* "unix/editline_unix.go" + ((".*#cgo linux CFLAGS.*") "") + (("#cgo linux CPPFLAGS.*") + (string-append "#cgo linux CPPFLAGS: -I" + #$(this-package-input "libedit") + "/include -Ishim\n")) + (("#cgo linux LDFLAGS.*") "#cgo linux LDFLAGS: -ledit\n")))))))) + (inputs + (list libedit)) + (home-page "https://github.com/knz/go-libedit") + (synopsis "Go wrapper around @code{libedit}") + (description + "This packae provides a wrapper around @code{libedit} for Golang.") + (license license:asl2.0))) + +(define-public go-github-com-knz-lipgloss-convert + (package + (name "go-github-com-knz-lipgloss-convert") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/knz/lipgloss-convert") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1x9p89jfafkvsz3rrk856bniwcxlj8b1bhi0ixyngh620mx4h0cq")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/knz/lipgloss-convert" + #:test-flags #~(list "-skip" "TestExport/full"))) + (propagated-inputs + (list go-github-com-charmbracelet-lipgloss + go-github-com-kr-pretty + go-github-com-pmezard-go-difflib)) + (home-page "https://github.com/knz/lipgloss-convert") + (synopsis "String conversion functions for lipgloss Styles") + (description + "String conversion functions for +@url{https://github.com/charmbracelet/lipgloss, lipgloss} Styles.") + (license license:asl2.0))) + +(define-public go-github-com-kortschak-utter + (package + (name "go-github-com-kortschak-utter") + (version "1.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kortschak/utter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pycm9kkfwpxz10v6f3w0478qy66bzaginr94rnmnnz7kp40fa00")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/kortschak/utter")) + (home-page "https://github.com/kortschak/utter") + (synopsis "Deep pretty printer") + (description + "This package implements a deep pretty printer for Go data structures to +aid data snapshotting.") + (license license:isc))) + (define-public go-github-com-kpango-glg (package (name "go-github-com-kpango-glg") @@ -4765,6 +9317,33 @@ very eas to use.") allocation. @code{fastime} is returning the approximate time.") (license license:expat))) +(define-public go-github-com-kr-fs + (let ((commit "1455def202f6e05b95cc7bfc7e8ae67ae5141eba") + (revision "0")) + (package + (name "go-github-com-kr-fs") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kr/fs") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/kr/fs" + #:test-flags #~(list "-skip" "TestBug3486"))) + (home-page "https://github.com/kr/fs") + (synopsis "File-system-related functions for Go") + (description + "The fs package provides file-system-related Go functions.") + (license license:bsd-3)))) + (define-public go-github-com-kr-pretty (package (name "go-github-com-kr-pretty") @@ -4790,6 +9369,211 @@ allocation. @code{fastime} is returning the approximate time.") "This package provides a pretty printer for Go values.") (license license:expat))) +(define-public go-github-com-kr-text + (package + (name "go-github-com-kr-text") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kr/text") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hf58ypz6rxsw6nx3i856whir9lvy4sdx946wbw1nfaf2rdmr9vx")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/kr/text")) + (propagated-inputs + (list go-github-com-creack-pty)) + (home-page "https://github.com/kr/text") + (synopsis "Text formatting in Go") + (description "This package provides a text formatting functions in Go.") + (license license:expat))) + +(define-public go-github-com-kylelemons-godebug + (package + (name "go-github-com-kylelemons-godebug") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kylelemons/godebug") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/kylelemons/godebug")) + (home-page "https://github.com/kylelemons/godebug") + (synopsis "Pretty printer for Go values") + (description + "This package will pretty print a compact representation of a Go data +structure. It can also produce a much more verbose, one-item-per-line +representation suitable for computing diffs.") + (license license:asl2.0))) + +(define-public go-github-com-labstack-gommon + (package + (name "go-github-com-labstack-gommon") + (version "0.4.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/labstack/gommon") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05mafzmx050hc3js3i0h05ga81kk3hhhlv395xwzv9n38h27xpnz")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/labstack/gommon")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-mattn-go-colorable + go-github-com-mattn-go-isatty + go-github-com-valyala-fasttemplate)) + (home-page "https://github.com/labstack/gommon") + (synopsis "Common libraries for Go") + (description + "This package provides functionlaity for common tasks: +@itemize +@item @code{Bytes} - format/parse bytes +@item @code{Color} - style terminal text +@item @code{Log} - simple logging +@end itemize") + (license license:expat))) + +(define-public go-github-com-lann-builder + (package + (name "go-github-com-lann-builder") + (version "0.0.0-20180802200727-47ae307949d0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lann/builder") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kg9jy1rciznj627hafpq2mi7hr5d3ssgqcpwrm3bnlk9sqnydil")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lann/builder")) + (propagated-inputs + (list go-github-com-lann-ps)) + (home-page "https://github.com/lann/builder") + (synopsis "Fluent immutable builders for Golang") + (description + "Package builder provides a method for writing fluent immutable DSL +builders. It uses immutable persistent data structures so that each step in +the method chain can be reused.") + (license license:expat))) + +(define-public go-github-com-lann-ps + (package + (name "go-github-com-lann-ps") + (version "0.0.0-20150810152359-62de8c46ede0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lann/ps") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10yhcyymypvdiiipchsp80jbglk8c4r7lq7h54v9f4mxmvz6xgf7")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lann/ps")) + (home-page "https://github.com/lann/ps") + (synopsis "Persistent data structures for Golang") + (description + "This package implements a fully persistent data structures - a data +structure that always preserves the previous version of itself when it is +modified. Such data structures are effectively immutable, as their operations +do not update the structure in-place, but instead always yield a new +structure. It's a stable fork of https://github.com/mndrix/ps.") + (license license:expat))) + +(define-public go-github-com-leodido-go-urn + (package + (name "go-github-com-leodido-go-urn") + (version "1.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/leodido/go-urn") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bn9dj6y299jdh8szfim32yxj9zip38cqgv965dj23cixgr7baxb")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/leodido/go-urn")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/leodido/go-urn") + (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-leonelquinteros-gotext + (package + (name "go-github-com-leonelquinteros-gotext") + (version "1.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/leonelquinteros/gotext") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ccls9xzbbrbrplbikz18lcky5p5rmifif6w69l5rl34dv11948m")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/leonelquinteros/gotext")) + (propagated-inputs + (list go-golang-org-x-text + go-golang-org-x-tools)) + (home-page "https://github.com/leonelquinteros/gotext") + (synopsis "GNU gettext utilities in Go") + (description + "This package implements GNU gettext utilities in Go. It features: + +@itemize +@item Implements GNU gettext support in native Go. +@item Complete support for PO files including: +@item Support for MO files. +@item Thread-safe: This package is safe for concurrent use across multiple +goroutines. +@item It works with UTF-8 encoding as it's the default for Go language. +@item Unit tests available. +@item Language codes are automatically simplified from the form en_UK to en if +the first isn't available. +@item Ready to use inside Go templates. +@item Objects are serializable to []byte to store them in cache. +@item Support for Go Modules. +@end itemize") + (license license:expat))) + (define-public go-github-com-lestrrat-go-envload (package (name "go-github-com-lestrrat-go-envload") @@ -4956,6 +9740,32 @@ allocator. This is primarily useful for long lived buffers that usually sit emp length-delimited slices. It's helpful for building wire protocols.") (license license:expat))) +(define-public go-github-com-lithammer-dedent + (package + (name "go-github-com-lithammer-dedent") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lithammer/dedent") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zqdlz3csraphk12q91vmv5zhap3abscjn9v725d8r55qblwrvs0")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lithammer/dedent")) + (home-page "https://github.com/lithammer/dedent") + (synopsis "Remove any common leading whitespace from multiline strings") + (description + "This package provides a functionality to remove common leading +whitespace from multiline strings. Inspired by +@url{https://docs.python.org/3/library/textwrap.html#textwrap.dedent,(code +textwrap.dedent)} in Python.") + (license license:expat))) + (define-public go-github-com-lithammer-fuzzysearch (package (name "go-github-com-lithammer-fuzzysearch") @@ -5088,6 +9898,128 @@ Printf/Sprintf etc.") (native-inputs (list go-github-com-stretchr-testify)))) +(define-public go-github-com-lucasb-eyer-go-colorful + (package + (name "go-github-com-lucasb-eyer-go-colorful") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lucasb-eyer/go-colorful") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08c3fkf27r16izjjd4w94xd1z7w1r4mdalbl53ms2ka2j465s3qs")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lucasb-eyer/go-colorful")) + (propagated-inputs + (list go-golang-org-x-image)) + (home-page "https://github.com/lucasb-eyer/go-colorful") + (synopsis "Library for playing with colors in Go") + (description + "The colorful package provides a library for using colors in Go. +It stores colors in RGB and provides methods for converting these to various +color spaces.") + (license license:expat))) + +(define-public go-github-com-lunixbochs-vtclean + (package + (name "go-github-com-lunixbochs-vtclean") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lunixbochs/vtclean") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jqn33l1kzy4dk66zbvxz7rlgkgg34s9mhc8z0lrz0i88466zhd8")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lunixbochs/vtclean")) + (home-page "https://github.com/lunixbochs/vtclean") + (synopsis "Filter out terminal escape sequences") + (description + "The @code{vtclean} provides the @command{vtclean} command and a library +designed to clean up raw terminal output by stripping escape sequences, +optionally preserving color.") + (license license:expat))) + +(define-public go-github-com-lyft-protoc-gen-star-v2 + (package + (name "go-github-com-lyft-protoc-gen-star-v2") + (version "2.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lyft/protoc-gen-star") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0c0w7xlarzkmbfsxdknakmnm562q3whxgs3ck3icwrva3dim94qc")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lyft/protoc-gen-star/v2" + #:test-flags + #~(list "-skip" + (string-join + (list "TestGraph_Bidirectional" + "TestGraph_Bidirectional_Messages_Enums" + "TestGraph_Bidirectional_Recursive" + "TestGraph_Extensions" + "TestGraph_FDSet" + "TestGraph_Messages" + "TestGraph_Packageless" + "TestGraph_Services" + "TestGraph_SourceCodeInfo") + "|")) + ;; XXX: To enable all tests require more complex set up, check how to + ;; enable most of them. + #:test-subdirs #~(list "."))) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-spf13-afero + go-golang-org-x-tools + go-google-golang-org-protobuf)) + (home-page "https://github.com/lyft/protoc-gen-star") + (synopsis "Protoc plugin library for efficient proto-based code generation") + ;; The Project lacks a good README, suggesting to read source code + ;; "... the true documentation source is the code itself ...". + (description + "PG* is a protoc plugin library for efficient proto-based code +generation.") + (license license:asl2.0))) + +(define-public go-github-com-magiconair-properties + (package + (name "go-github-com-magiconair-properties") + (version "1.8.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magiconair/properties") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05nkgdzl393505arq6hf1wxjxs2iaqkc88v5cy1s068abpl65xy0")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/magiconair/properties")) + (home-page "https://github.com/magiconair/properties") + (synopsis "Java properties scanner for Go") + (description "Java properties scanner for Go") + (license license:bsd-2))) + (define-public go-github-com-makenowjust-heredoc (package (name "go-github-com-makenowjust-heredoc") @@ -5147,6 +10079,31 @@ implementing features like: @end itemize") (license license:expat)))) +(define-public go-github-com-masterminds-goutils + (package + (name "go-github-com-masterminds-goutils") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Masterminds/goutils") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09m4mbcdlv9ng3xcrmjlxi0niavby52y9nl2jhjnbx1xxpjw0jrh")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/Masterminds/goutils")) + (home-page "https://github.com/Masterminds/goutils/") + (synopsis "Utility functions to manipulate strings") + (description + "GoUtils provides utility functions to manipulate strings in various +ways. It is a Go implementation of some string manipulation libraries of Java +Apache Commons.") + (license license:asl2.0))) + (define-public go-github-com-masterminds-semver-v3 (package (name "go-github-com-masterminds-semver-v3") @@ -5182,7 +10139,7 @@ semantic versions. Specifically it provides the ability to: (define-public go-github-com-masterminds-sprig-v3 (package (name "go-github-com-masterminds-sprig-v3") - (version "3.2.3") + (version "3.3.0") (source (origin (method git-fetch) @@ -5191,29 +10148,21 @@ semantic versions. Specifically it provides the ability to: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1gkwalx8j8h1jdhk6dz8bq8zp7vivxvcivr83dcq0h6nrn4xjqnl")))) + (base32 "1ljpizbfjh29xb4f40ipkrqriyixhdsfnd72y3pdzrjf2kbmgw9n")))) (build-system go-build-system) (arguments (list #:import-path "github.com/Masterminds/sprig/v3" - #:phases - #~(modify-phases %standard-phases - ;; Tests tries to reach Google: - ;; tpl := `{{"www.google.com" | getHostByName}}` - (add-after 'unpack 'remove-network-tests - (lambda* (#:key import-path #:allow-other-keys) - (delete-file - (string-append "src/" import-path "/network_test.go"))))))) + #:test-flags #~(list "-skip" "TestGetHostByName"))) (native-inputs (list go-github-com-stretchr-testify)) (propagated-inputs - (list go-github-com-google-uuid + (list go-dario-cat-mergo + go-github-com-google-uuid go-github-com-huandu-xstrings - go-github-com-imdario-mergo go-github-com-masterminds-goutils go-github-com-masterminds-semver-v3 go-github-com-mitchellh-copystructure - go-github-com-mitchellh-reflectwalk go-github-com-shopspring-decimal go-github-com-spf13-cast go-golang-org-x-crypto)) @@ -5224,19 +10173,49 @@ semantic versions. Specifically it provides the ability to: functions.") (license license:expat))) +(define-public go-github-com-masterminds-squirrel + (package + (name "go-github-com-masterminds-squirrel") + (version "1.5.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Masterminds/squirrel") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ws7p3gchw6n81sfdhpk1pbh7gsj1fm7fbjah702d7q1gbn00vja")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/Masterminds/squirrel")) + (native-inputs + (list go-github-com-go-sql-driver-mysql + go-github-com-lib-pq + go-github-com-mattn-go-sqlite3 + go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-lann-builder)) + (home-page "https://github.com/Masterminds/squirrel") + (synopsis "Fluent SQL generation for golang") + (description + "Package squirrel provides a fluent SQL generator.") + (license license:expat))) + (define-public go-github-com-matryer-try (package (name "go-github-com-matryer-try") - (version "1") + (version "0.0.0-20161228173917-9ac251b645a2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/matryer/try") - (commit (string-append "v" version)))) + (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 - (base32 "15f0m5ywihivnvwzcw0mh0sg27aky9rkywvxqszxka9q051qvsmy")))) + (base32 "19fnqmpl3p54vmxgm1hmqvdc87brqx754wf3cdhq1bj04fcbb5h9")))) (build-system go-build-system) (arguments (list @@ -5406,6 +10385,8 @@ the @code{cpan} module @code{Parse::CommandLine}.") (arguments (list #:import-path "github.com/mattn/go-sixel")) + (native-inputs + (list go-github-com-burntsushi-graphics-go)) ; for the CLI command (propagated-inputs (list go-github-com-soniakeys-quant)) (home-page "https://github.com/mattn/go-sixel") @@ -5556,6 +10537,130 @@ language, namely support for record length-delimited message streaming.") colored strings.") (license license:expat))) +(define-public go-github-com-michiwend-golang-pretty + (package + (name "go-github-com-michiwend-golang-pretty") + (version "0.0.0-20141116172505-8ac61812ea3f") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/michiwend/golang-pretty") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rjfms0csjqi91xnddzx3rcrcaikc7xc027617px3kdwdap80ir4")))) + (build-system go-build-system) + (arguments + `(#:tests? #f ; Upstream tests seem to be broken. + #:import-path "github.com/michiwend/golang-pretty")) + (propagated-inputs + (list go-github-com-kr-text)) + (home-page "https://github.com/michiwend/golang-pretty") + (synopsis "Pretty printing for Go values") + (description + "Package @code{pretty} provides pretty-printing for Go values. This is +useful during debugging, to avoid wrapping long output lines in the terminal. + +It provides a function, @code{Formatter}, that can be used with any function +that accepts a format string. It also provides convenience wrappers for +functions in packages @code{fmt} and @code{log}.") + (license license:expat))) + +(define-public go-github-com-michiwend-gomusicbrainz + (package + (name "go-github-com-michiwend-gomusicbrainz") + (version "0.0.0-20181012083520-6c07e13dd396") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/michiwend/gomusicbrainz") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c13hyv34l5hm7hrwrm62s2414ivx6dbbyhb7rw90bni78q441b1")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/michiwend/gomusicbrainz")) + (propagated-inputs + (list go-github-com-michiwend-golang-pretty)) + (home-page "https://github.com/michiwend/gomusicbrainz") + (synopsis "MusicBrainz WS2 client library for Golang") + (description + "Currently GoMusicBrainz provides methods to perform search and lookup +requests. Browse requests are not supported yet.") + (license license:expat))) + +(define-public go-github-com-miolini-datacounter + (package + (name "go-github-com-miolini-datacounter") + (version "1.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/miolini/datacounter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s1hxqy6666qd524rdp1dr3778davc8gx9brg9lkcjvr5l05s9wa")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/miolini/datacounter")) + (home-page "https://github.com/miolini/datacounter") + (synopsis "Counters for Go readers and writers") + (description + "The datacounter package provides counters for Go readers and writers.") + (license license:expat))) + +(define-public go-github-com-mitchellh-cli + (package + (name "go-github-com-mitchellh-cli") + (version "1.1.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitchellh/cli") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gp1p7pqc27ps8njv49hmzsfnbxq4wg5azmqpqdw91qxw3prs3kr")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/mitchellh/cli")) + (propagated-inputs + (list go-github-com-armon-go-radix + go-github-com-bgentry-speakeasy + go-github-com-fatih-color + go-github-com-masterminds-sprig-v3 + go-github-com-mattn-go-isatty + go-github-com-posener-complete)) + (home-page "https://github.com/mitchellh/cli") + (synopsis "Go library for implementing command-line interfaces") + (description + "cli is a library for implementing command-line interfaces. +Features: +@itemize +@item easy sub-command based CLIs: @code{cli foo}, @code{cli bar}, etc. +@item support for nested subcommands such as @code{cli foo bar} +@item optional support for default subcommands so @code{cli} does something +other than error +@item support for shell autocompletion of subcommands, flags, and arguments +with callbacks in Go +@item automatic help generation for listing subcommands +@item automatic help flag recognition of @code{-h}, @code{--help}, etc. +@item automatic version flag recognition of @code{-v}, @code{--version} +@item helpers for interacting with the terminal, such as outputting +information, asking for input, etc. +@item use of Go interfaces/types makes augmenting various parts of the library +a piece of cake +@end itemize") + (license license:mpl2.0))) + (define-public go-github-com-mitchellh-colorstring (package (name "go-github-com-mitchellh-colorstring") @@ -5579,6 +10684,235 @@ colored strings.") "Colorstring provides functions for colorizing strings for terminal output.") (license license:expat))) +(define-public go-github-com-mitchellh-copystructure + (package + (name "go-github-com-mitchellh-copystructure") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitchellh/copystructure") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1izw243b3r03nvgnnxvk706l3s3v3q7k69kq3n4asnzjkcymq7sm")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/mitchellh/copystructure")) + (propagated-inputs + (list go-github-com-mitchellh-reflectwalk)) + (home-page "https://github.com/mitchellh/copystructure") + (synopsis "Go library for decoding deep copying values") + (description "@code{copystructure} is a Go library for deep copying values +in Go. + +This allows you to copy Go values that may contain reference values such as +maps, slices, or pointers, and copy their data as well instead of just their +references.") + (license license:expat))) + +(define-public go-github-com-mitchellh-go-homedir + (package + (name "go-github-com-mitchellh-go-homedir") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitchellh/go-homedir") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1")))) + (build-system go-build-system) + (arguments + (quote (#:import-path "github.com/mitchellh/go-homedir" + ;; TODO: Tests fail because it tries to access home. + #:tests? #f))) + (home-page "https://github.com/mitchellh/go-homedir") + (synopsis "Go library for detecting and expanding the user's home directory without cgo") + (description + "This is a Go library for detecting the user's home directory without the +use of @command{cgo}, so the library can be used in cross-compilation +environments. + +Usage is simple, just call homedir.Dir() to get the home directory for a user, +and homedir.Expand() to expand the @command{~} in a path to the home +directory. + +Why not just use @command{os/user}? The built-in @command{os/user} package +requires cgo on Darwin systems. This means that any Go code that uses that +package cannot cross compile. But 99% of the time the use for +@command{os/user} is just to retrieve the home directory, which we can do for +the current user without cgo. This library does that, enabling +cross-compilation.") + (license license:expat))) + +(define-public go-github-com-mitchellh-go-wordwrap + (package + (name "go-github-com-mitchellh-go-wordwrap") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitchellh/go-wordwrap") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12imq66hgj8q9ii2xqdy8apc0icphh6yimjb0div1pvl3s9gn83y")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/mitchellh/go-wordwrap")) + (propagated-inputs + (list go-gopkg-in-yaml-v2)) + (home-page "https://github.com/mitchellh/go-wordwrap") + (synopsis "Go library for word-wrapping strings") + (description + "This Go library automatically wraps words onto multiple lines. It's +primary goal is to format command-line output, but of course word wrapping is +a generally useful thing to do.") + (license license:expat))) + +;; XXX: This package is in maintenance mode: "This repository has been +;; archived by the owner on Jul 22, 2024. It is now read-only." +(define-public go-github-com-mitchellh-mapstructure + (package + (name "go-github-com-mitchellh-mapstructure") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitchellh/mapstructure") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10f2v143lkip8h46shd99k5yavfqpgqmd7a6y42v7szc0lcn3mff")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/mitchellh/mapstructure")) + (home-page "https://github.com/mitchellh/mapstructure") + (synopsis "Go library for decoding generic map values") + (description "Go library for decoding generic map values") + (license license:expat))) + +(define-public go-github-com-mitchellh-reflectwalk + (package + (name "go-github-com-mitchellh-reflectwalk") + (version "1.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitchellh/reflectwalk") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nxgb4gskzv045539vb312n0a443308dvh1akz7vi6x1l0z46zsm")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/mitchellh/reflectwalk")) + (home-page "https://github.com/mitchellh/reflectwalk/") + (synopsis "Walk a value in Go using reflection") + (description + "reflectwalk is a Go library for \"walking\" a value in Go using +reflection, in the same way a directory tree can be \"walked\" on the file +system. Walking a complex structure can allow you to do manipulations on +unknown structures such as those decoded from JSON.") + (license license:expat))) + +(define-public go-github-com-mmcdole-goxpp + (package + (name "go-github-com-mmcdole-goxpp") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mmcdole/goxpp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0g9va3vhc5s60s00kyp4agfhb6kjp8j8i41vkj3lwbz5sx947mif")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/mmcdole/goxpp")) + (native-inputs (list go-github-com-stretchr-testify)) + (home-page "https://github.com/mmcdole/goxpp") + (synopsis "XML pull prser for Golang") + (description + "The @code{goxpp} library, inspired by +@url{http://www.xmlpull.org/v1/download/unpacked/doc/quick_intro.html, Java's +XML@code{PullParser}}, is a lightweight wrapper for Go's standard XML +Decoder,tailored for developers who need fine-grained control over XML +parsing.") + (license license:expat))) + +(define-public go-github-com-moby-sys-mountinfo + (package + (name "go-github-com-moby-sys-mountinfo") + (version "0.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moby/sys") + (commit (go-version->git-ref version + #:subdir "mountinfo")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1i1phx1kk9qa4jf1i1nl23d3f6k9fn2w46274cl76cqw9hjqg868")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/moby/sys/mountinfo" + #:unpack-path "github.com/moby/sys" + #:test-flags + #~(list "-skip" (string-join + (list "TestMountedBy/not_mounted_socket" + "TestMountedBy/socket_bind-mounted_to_itself") + "|")))) + (propagated-inputs (list go-golang-org-x-sys)) + (home-page "https://github.com/moby/sys") + (synopsis "Retrieve information about OS mounts") + (description + "Package mountinfo provides a set of functions to retrieve information +about OS mounts as seen by the current process is available from +@code{/proc/self/mountinfo}.") + (license license:asl2.0))) + +(define-public go-github-com-moby-sys-userns + (package + (name "go-github-com-moby-sys-userns") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moby/sys") + (commit (go-version->git-ref version + #:subdir "userns")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1clr9x412gr1cq3jxf9lxblh9pkf8c42gz57wr14miy0nqsimx7j")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/moby/sys/userns" + #:unpack-path "github.com/moby/sys")) + (home-page "https://github.com/moby/sys") + (synopsis "Probe Linux user namespace") + (description + "Package userns provides utilities to detect whether we are currently +running in a Linux user namespace.") + (license license:asl2.0))) + (define-public go-github-com-modern-go-concurrent (package (name "go-github-com-modern-go-concurrent") @@ -5651,6 +10985,31 @@ standard @code{copy} will copy the pointers where @code{deepcopy} copies the values pointed to. Unexported field values are not copied.") (license license:expat))) +(define-public go-github-com-motemen-go-colorine + (package + (name "go-github-com-motemen-go-colorine") + (version "0.0.0-20180816141035-45d19169413a") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/motemen/go-colorine") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1mdy6q0926s1frj027nlzlvm2qssmkpjis7ic3l2smajkzh07118")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/motemen/go-colorine")) + (propagated-inputs + (list go-github-com-daviddengcn-go-colortext)) + (home-page "https://github.com/motemen/go-colorine") + (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-mreiferson-go-options (package (name "go-github-com-mreiferson-go-options") @@ -5755,6 +11114,28 @@ Authentication Modules, PAM} application API.") ((#:import-path _ "github.com/msteinert/pam") "github.com/msteinert/pam/v2"))))) +(define-public go-github-com-mtibben-percent + (package + (name "go-github-com-mtibben-percent") + (version "0.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mtibben/percent") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1iqivw8pigj259rj5yifibbvic70f9hb7k24a4sa967s4fj6agb6")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/mtibben/percent")) + (home-page "https://github.com/mtibben/percent") + (synopsis "Package percent escapes strings using percent-encoding") + (description + "Package percent escapes strings using percent-encoding.") + (license license:expat))) + (define-public go-github-com-muesli-ansi (package (name "go-github-com-muesli-ansi") @@ -5882,7 +11263,13 @@ helping you to transform blocks of text.") (build-system go-build-system) (arguments (list - #:import-path "github.com/muesli/termenv")) + #:import-path "github.com/muesli/termenv" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-examples + (lambda* (#:key import-path #:allow-other-keys) + (delete-file-recursively + (string-append "src/" import-path "/examples"))))))) (propagated-inputs (list go-github-com-aymanbagabas-go-osc52-v2 go-github-com-lucasb-eyer-go-colorful @@ -6042,10 +11429,68 @@ multibase} (self identifying base encodings) in Go.") varints.") (license license:expat))) +(define-public go-github-com-nakagami-firebirdsql + (package + (name "go-github-com-nakagami-firebirdsql") + (version "0.9.12") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nakagami/firebirdsql") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "043wc8pigv0cpnzljry1vfdnwlmbfy14b5yhbkyhnndk81c4pl7s")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f ; tests require running database service + #:import-path "github.com/nakagami/firebirdsql")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-kardianos-osext + go-github-com-shopspring-decimal + go-gitlab-com-nyarla-go-crypt + go-golang-org-x-crypto + go-golang-org-x-text + go-modernc-org-mathutil)) + (home-page "https://github.com/nakagami/firebirdsql") + (synopsis "Firebird RDBMS sql driver for Golang") + (description + "Package firebird provides database/sql driver for +@url{https://firebirdsql.org/, Firebird} RDBMS.") + (license license:expat))) + +(define-public go-github-com-nathan-osman-go-sunrise + (package + (name "go-github-com-nathan-osman-go-sunrise") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nathan-osman/go-sunrise") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "017zwzx05r5spxcs07dp6bnh7waknzsd819k7aqd8kr819v3x9in")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/nathan-osman/go-sunrise")) + (home-page "https://github.com/nathan-osman/go-sunrise") + (synopsis "Calculate sunrise and sunset times in Go") + (description + "This package provides a Go library for calculating sunrise and +sunset times from geographical coordinates and a date.") + (license license:expat))) + (define-public go-github-com-nats-io-nats-go (package (name "go-github-com-nats-io-nats-go") - (version "1.32.0") + (version "1.38.0") (source (origin (method git-fetch) @@ -6054,15 +11499,22 @@ varints.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "08b3n5mdpxvn9hipz0j001bp5r67i43cqji9x9dyzikypqdfg38k")))) + (base32 "1b21sxzds2x5a8b13hmf5n1pf1bf770ky7q12147gqq7vsw39fa1")))) (build-system go-build-system) (arguments (list - #:import-path "github.com/nats-io/nats.go")) - (propagated-inputs (list go-golang-org-x-text - go-github-com-nats-io-nuid - go-github-com-nats-io-nkeys - go-github-com-klauspost-compress)) + #:import-path "github.com/nats-io/nats.go" + ;; Most tests in "test" directory fail to set up, limit to project's + ;; root tests. + #:test-subdirs #~(list "."))) + (native-inputs + (list go-github-com-nats-io-jwt-v2)) + (propagated-inputs + (list go-github-com-klauspost-compress + go-github-com-nats-io-nkeys + go-github-com-nats-io-nuid + go-golang-org-x-text + go-google-golang-org-protobuf)) ; for encoders (home-page "https://github.com/nats-io/nats.go") (synopsis "Go Client for NATS server") (description @@ -6092,6 +11544,30 @@ varints.") very fast, and tries to be entropy pool friendly.") (license license:asl2.0))) +(define-public go-github-com-ncruces-go-strftime + (package + (name "go-github-com-ncruces-go-strftime") + (version "0.1.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ncruces/go-strftime") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rmr44m8mj5w9j1sy4c24b3n55lx2gwz1z3lb2g3p4qw87wv0j2g")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/ncruces/go-strftime")) + (home-page "https://github.com/ncruces/go-strftime") + (synopsis "Implementation of strftime/strptime for Golang") + (description + "Package strftime provides strftime/strptime compatible time formatting +and parsing.") + (license license:expat))) + (define-public go-github-com-neurosnap-sentences (package (name "go-github-com-neurosnap-sentences") @@ -6146,6 +11622,32 @@ list of sentences.") pretty printed rendering in Golang.") (license license:expat))) +(define-public go-github-com-nsf-termbox-go + (package + (name "go-github-com-nsf-termbox-go") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nsf/termbox-go") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n5jwnx53nkjvq8rcqzv2scs532iq9w06pd83w6cipniccqp4m2i")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/nsf/termbox-go")) + (propagated-inputs + (list go-github-com-mattn-go-runewidth)) + (home-page "https://github.com/nsf/termbox-go") + (synopsis "@code{termbox} provides a minimal API for text-based user interfaces") + (description + "Termbox is a library that provides a minimalistic API which allows the +programmer to write text-based user interfaces.") + (license license:expat))) + (define-public go-github-com-nsqio-go-diskqueue (package (name "go-github-com-nsqio-go-diskqueue") @@ -6195,6 +11697,36 @@ queue.") NSQ protocol @url{https://nsq.io/}.") (license license:expat))) +(define-public go-github-com-nxadm-tail + (package + (name "go-github-com-nxadm-tail") + (version "1.4.11") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nxadm/tail") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s8lawq661g8qqf7c1cip5l60cm2138b125jgmv9h548ji9g5yqx")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "vendor"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/nxadm/tail")) + (propagated-inputs + (list go-github-com-fsnotify-fsnotify + go-gopkg-in-tomb-v1)) + (home-page "https://github.com/nxadm/tail") + (synopsis "Go implementation of the functionality of @command{tail -f}") + (description + "This package provides a Go library for reading from continuously +updating files, like @command{tail -f}.") + (license license:expat))) + (define-public go-github-com-oklog-run (package (name "go-github-com-oklog-run") @@ -6241,6 +11773,8 @@ goroutines as a unit whole.") (arguments (list #:import-path "github.com/oklog/ulid")) + (native-inputs + (list go-github-com-pborman-getopt-v2)) ; for CLI (home-page "https://github.com/oklog/ulid") (synopsis "Universally Unique Lexicographically Sortable Identifier in Golang") (description @@ -6282,6 +11816,72 @@ millisecond) (list #:import-path "github.com/oklog/ulid/v2")))) +(define-public go-github-com-olekukonko-tablewriter + (package + (name "go-github-com-olekukonko-tablewriter") + (version "0.0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/olekukonko/tablewriter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zhnrih2px6jm8nxzkz8s7va3lj03bzwxim8wjba9zh7i78bp67z")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/olekukonko/tablewriter")) + (propagated-inputs + (list go-github-com-mattn-go-runewidth)) + (home-page "https://github.com/olekukonko/tablewriter/") + (synopsis "Generate ASCII table") + (description "This package generates ASCII tables. Features: +@itemize +@item automatic Padding +@item support Multiple Lines +@item supports Alignment +@item support Custom Separators +@item automatic Alignment of numbers and percentage +@item write directly to http , file etc via @code{io.Writer} +@item read directly from CSV file +@item optional row line via @code{SetRowLine} +@item normalise table header +@item make CSV Headers optional +@item enable or disable table border +@item set custom footer support +@item optional identical cells merging +@item set custom caption +@item optional reflowing of paragrpahs in multi-line cells +@end itemize") + (license license:expat))) + +(define-public go-github-com-olekukonko-ts + (package + (name "go-github-com-olekukonko-ts") + (version "0.0.0-20171002115256-78ecb04241c0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/olekukonko/ts") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0k88n5rvs5k5zalbfa7c71jkjb8dhpk83s425z728qn6aq49c978")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f ; inappropriate ioctl for device. + #:import-path "github.com/olekukonko/ts")) + (home-page "https://github.com/olekukonko/ts/") + (synopsis "Simple Go application to get the size of the terminal") + (description + "This package provides a simple Go application to get the size of the +terminal.") + (license license:expat))) + (define-public go-github-com-op-go-logging (package (name "go-github-com-op-go-logging") @@ -6309,6 +11909,63 @@ syslog, file and memory. Multiple backends can be utilized with different log levels per backend and logger.") (license license:bsd-3))) +(define-public go-github-com-opencontainers-go-digest + (package + (name "go-github-com-opencontainers-go-digest") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/opencontainers/go-digest") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0i5acjajvr6hi9zb7gxwifd8w28y884cv7cx36adj8lngj647xbi")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/opencontainers/go-digest")) + (home-page "https://github.com/opencontainers/go-digest") + (synopsis "Common digest package used across the container ecosystem") + (description + "Package digest provides a generalized type to opaquely represent message +digests and their operations within the registry. The Digest type is designed +to serve as a flexible identifier in a content-addressable system. More +importantly, it provides tools and wrappers to work with hash.Hash-based +digests with little effort.") + (license (list license:asl2.0 license:cc-by-sa4.0)))) + +(define-public go-github-com-opencontainers-image-spec + (package + (name "go-github-com-opencontainers-image-spec") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/opencontainers/image-spec") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "108jws0i4kbawcihprj3wxp3yqv7nrynkwzwmbz42sx8dmbfq0kc")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/opencontainers/image-spec")) + (propagated-inputs + (list go-github-com-opencontainers-go-digest + go-github-com-russross-blackfriday + go-github-com-xeipuuv-gojsonreference + go-github-com-xeipuuv-gojsonschema)) + (home-page "https://github.com/opencontainers/image-spec") + (synopsis "OCI Image Format Specification") + (description + "The OCI Image Format project creates and maintains the software shipping +container image format spec (OCI Image Format).") + (license license:asl2.0))) + ;; XXX: Find a way to source from specification-runtime-spec. (define-public go-github-com-opencontainers-runtime-spec (package @@ -6338,6 +11995,31 @@ levels per backend and logger.") specification-runtime-spec.") (license license:asl2.0))) +(define-public go-github-com-opencontainers-selinux + (package + (name "go-github-com-opencontainers-selinux") + (version "1.11.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/opencontainers/selinux") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19j92lj9037d94lsls97b9d6cr0y8qavi8rampyawlykcp7gknqz")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/opencontainers/selinux")) + (propagated-inputs (list go-golang-org-x-sys)) + (home-page "https://github.com/opencontainers/selinux") + (synopsis "Common SELinux implementation") + (description + "Common SELinux package used across the container ecosystem.") + (license license:asl2.0))) + (define-public go-github-com-openhistogram-circonusllhist (package (name "go-github-com-openhistogram-circonusllhist") @@ -6449,6 +12131,67 @@ included in this package.") "This package implments recursive copy functinoality for directory.") (license license:expat))) +(define-public go-github-com-outcaste-io-ristretto + (package + (name "go-github-com-outcaste-io-ristretto") + (version "0.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/outcaste-io/ristretto") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07ndjrblmj9b3ghn10h040zvzf2i3mlzvfziklcqdkhxbr1hf1rq")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/outcaste-io/ristretto")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-cespare-xxhash-v2 + go-github-com-dgryski-go-farm + go-github-com-dustin-go-humanize + go-github-com-pkg-errors + go-go-uber-org-atomic + go-golang-org-x-sys)) + (home-page "https://github.com/outcaste-io/ristretto") + (synopsis "Memory-bound Go cache") + (description + "Ristretto is a fast, fixed size, in-memory cache with a dual focus on +throughput and hit ratio performance. It's a fork of +@code{dgraph-io/ristretto} project.") + (license license:asl2.0))) + +(define-public go-github-com-patrickmn-go-cache + (package + (name "go-github-com-patrickmn-go-cache") + (version "2.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/patrickmn/go-cache") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10020inkzrm931r4bixf8wqr9n39wcrb78vfyxmbvjavvw4zybgs")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/patrickmn/go-cache")) + (home-page "https://github.com/patrickmn/go-cache") + (synopsis "In-memory key:value store/cache Golang library") + (description + "go-cache is an in-memory key:value store/cache similar to Memcached that +is suitable for applications running on a single machine. Its major advantage +is that, being essentially a thread-safe @code{map[string]interface{}} with +expiration times, it doesn't need to serialize or transmit its contents over +the network.") + (license license:expat))) + (define-public go-github-com-pbnjay-memory (let ((commit "7b4eea64cf580186c0eceb10dc94ba3a098af46c") (revision "2")) @@ -6476,6 +12219,57 @@ memory accessible to the kernel. It does not account for memory used by other processes.") (license license:bsd-3)))) +(define-public go-github-com-pborman-getopt + (package + (name "go-github-com-pborman-getopt") + (version "1.0.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 "1sa66n392hzqbahn47grbjyaasvpklnn4s1wkzs1kdwrfdd62kfa")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/pborman/getopt/v2 + (delete-file-recursively "v2"))))) + (build-system go-build-system) + (arguments + (list + #: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-github-com-pborman-getopt-v2 + (package + (inherit go-github-com-pborman-getopt) + (name "go-github-com-pborman-getopt-v2") + (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 + (list + #:import-path "github.com/pborman/getopt/v2" + #:unpack-path "github.com/pborman/getopt")))) + (define-public go-github-com-pelletier-go-toml (package (name "go-github-com-pelletier-go-toml") @@ -6506,7 +12300,7 @@ processes.") (package (inherit go-github-com-pelletier-go-toml) (name "go-github-com-pelletier-go-toml-v2") - (version "2.2.2") + (version "2.2.3") (source (origin (method git-fetch) @@ -6515,14 +12309,54 @@ processes.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0gimgz33yxmvj0nmy56yy7zq4ay8j55ir8pfzmgwga7npgpzspk7")))) + (base32 "0hqxj34d49snvc2m6lxfjxks3z9sic9xbb6w49ajrqbzy953spzs")))) (build-system go-build-system) (arguments - (list #:import-path "github.com/pelletier/go-toml/v2")) + (list + #:import-path "github.com/pelletier/go-toml/v2" + #:parallel-tests? #f + #:test-flags + #~(list "-short" + "-count" "1" + "-skip" "FuzzUnmarshal") ; for benchmark + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-benchmarks + (lambda* (#:key import-path #:allow-other-keys) + (delete-file-recursively + (string-append "src/" import-path "/benchmark"))))))) (native-inputs (list go-github-com-stretchr-testify)) (propagated-inputs '()))) +(define-public go-github-com-peterbourgon-diskv + (package + (name "go-github-com-peterbourgon-diskv") + (version "3.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/peterbourgon/diskv") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pdy8f7bkm65gx4vknwcvfa619hknflqxkdlvmf427k2mzm91gmh")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/peterbourgon/diskv")) + (propagated-inputs (list go-github-com-google-btree)) + (home-page "https://github.com/peterbourgon/diskv") + (synopsis "Disk-backed key-value store") + (description + "Diskv (disk-vee) is a simple, persistent key-value store written in the +Go language. It starts with a simple API for storing arbitrary data on a +filesystem by key, and builds several layers of performance-enhancing +abstraction on top. The end result is a conceptually simple, but highly +performant, disk-backed storage system.") + (license license:expat))) + (define-public go-github-com-philhofer-fwd (package (name "go-github-com-philhofer-fwd") @@ -6548,6 +12382,30 @@ that help improve the encoding/decoding performance of some binary protocols.") (license license:expat))) +(define-public go-github-com-phpdave11-gofpdi + (package + (name "go-github-com-phpdave11-gofpdi") + (version "1.0.14") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phpdave11/gofpdi") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zan4wmwd1rzrq57ynz4z5kf00b6xj0dnki123zai0j53xdngwhw")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/phpdave11/gofpdi")) + (propagated-inputs (list go-github-com-pkg-errors)) + (home-page "https://github.com/phpdave11/gofpdi") + (synopsis "PDF document importer") + (description + "gofpdi allows you to import an existing PDF into a new PDF.") + (license license:expat))) + (define-public go-github-com-pierrec-cmdflag (package (name "go-github-com-pierrec-cmdflag") @@ -6564,7 +12422,13 @@ protocols.") (build-system go-build-system) (arguments (list - #:import-path "github.com/pierrec/cmdflag")) + #:import-path "github.com/pierrec/cmdflag" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-examples + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (delete-file-recursively "examples"))))))) (home-page "https://github.com/pierrec/cmdflag") (synopsis "Augment the flag package with commands") (description @@ -6596,34 +12460,199 @@ on top of the standard library @code{flag} package.") Pion}.") (license license:expat))) +(define-public go-github-com-pkg-diff + (package + (name "go-github-com-pkg-diff") + (version "0.0.0-20241224192749-4e6772a4315c") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pkg/diff") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1iwaa6g3mbbi1k6rw7fn85sg6lm6rlnjz07yb91hq1kll6494s18")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/pkg/diff")) + (home-page "https://github.com/pkg/diff/") + (synopsis "Create and print diffs") + (description + "This package provides a Go library to create and print diffs.") + (license license:bsd-3))) + +(define-public go-github-com-pkg-term + (package + (name "go-github-com-pkg-term") + (version "1.2.0-beta.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pkg/term") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fflh4lglbvdz8949h8spbw3vwdldgnl6zgps4ylzzr40hhyvgf5")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/pkg/term" + #:test-flags + #~(list "-skip" + (string-join + ;; Tests fail with error: inappropriate ioctl for device. + (list "TestTiocmbic" + "TestTiocmbis" + "TestTiocmget" + "TestTiocmset") + "|")))) + (propagated-inputs (list go-golang-org-x-sys)) + (home-page "https://github.com/pkg/term") + (synopsis "Manages POSIX terminals from Golang") + (description + "Package term manages POSIX terminals. As POSIX terminals are connected +to, or emulate, a UART, this package also provides control over the various +UART and serial line parameters.") + (license license:bsd-2))) + +(define-public go-github-com-pkg-xattr + (package + (name "go-github-com-pkg-xattr") + (version "0.4.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pkg/xattr") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rxvfiwgd0z9alj4n8jympmyi68zh1swf3siim8r2h01nm4i0vqh")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/pkg/xattr")) + (propagated-inputs + (list go-golang-org-x-sys)) + (home-page "https://github.com/pkg/xattr") + (synopsis "Support for extended file system attributes") + (description + "Package xattr provides support for extended attributes on Linux, Darwin +and FreeBSD. Extended attributes are name:value pairs permanently associated +with files or directories. They are similar to the environment strings +associated with a process. An attribute may be defined or undefined. If +defined, its value may be empty or non-empty. You can find more details here: +@@url{https://en.wikipedia.org/wiki/Extended_file_attributes, +https://en.wikipedia.org/wiki/Extended_file_attributes}.") + (license license:bsd-2))) + +(define-public go-github-com-pmezard-go-difflib + (package + (name "go-github-com-pmezard-go-difflib") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pmezard/go-difflib") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/pmezard/go-difflib/difflib" + #:unpack-path "github.com/pmezard/go-difflib/")) + (home-page "https://github.com/pmezard/go-difflib") + (synopsis "Go diff implementation") + (description + "This package provides unified and context-aware diffs in Go.") + (license license:bsd-3))) + (define-public go-github-com-polydawn-refmt (package (name "go-github-com-polydawn-refmt") - (version "0.89.1-0.20231129105047-37766d95467a") + (version "0.89.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/polydawn/refmt/") - (commit (go-version->git-ref version)))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0grgzacc7igfndk1v3n1g6k4wdz6bjsiqfq3n5br2zpr7n40ha9n")))) + (base32 "1v4av75nlgvps5q2h3q6w3cmry0gg316l82zmj6sph9bp2c87621")))) (build-system go-build-system) (arguments (list #:import-path "github.com/polydawn/refmt")) (propagated-inputs - (list go-github-com-urfave-cli - go-github-com-warpfork-go-wish + (list go-github-com-go-yaml-yaml go-github-com-smartystreets-goconvey - go-gopkg-in-yaml-v2)) + go-github-com-urfave-cli + go-github-com-warpfork-go-wish)) (home-page "https://github.com/polydawn/refmt/") (synopsis "Object mapping for Go language") (description "@code{refmt} is a serialization and object-mapping library.") (license license:expat))) +(define-public go-github-com-posener-complete + (package + (name "go-github-com-posener-complete") + (version "1.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/posener/complete") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0nri6hkfb0z3dkxf2fsfidr4bxbn91rjsqhg5s0c2jplf0aclppz")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/posener/complete")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-hashicorp-go-multierror)) + (home-page "https://github.com/posener/complete") + (synopsis "Bash completion implemented in Golang") + (description + "Package complete provides a tool for bash writing bash completion in go, +and bash completion for the go command line.") + (license license:expat))) + +(define-public go-github-com-prometheus-community-go-runit + (package + (name "go-github-com-prometheus-community-go-runit") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/prometheus-community/go-runit") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1f5z10ynf67xx566ahnp5ndwxqz0i8rd8xnjiw7za6pz0wgj6wmk")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/prometheus-community/go-runit")) + (home-page "https://github.com/prometheus-community/go-runit") + (synopsis "Wrapping runit service status") + (description + "This package provides a wrapper round runit service status.") + (license license:expat))) + (define-public go-github-com-pterm-pterm (package (name "go-github-com-pterm-pterm") @@ -6693,35 +12722,44 @@ watches memory utilization and forces Go GC in accordance with a user-defined policy.") (license (list license:asl2.0 license:expat)))) -(define-public go-github-com-rcrowley-go-metrics - (let ((commit "cac0b30c2563378d434b5af411844adff8e32960") - (revision "2")) +(define-public go-github-com-reiver-go-porterstemmer + ;; The latest commit contain test fixtures. + (let ((commit "ab0f922907ea0321367a5776bd7a6c35d505d53b") + (revision "0")) (package - (name "go-github-com-rcrowley-go-metrics") - (version (git-version "0.0.0" revision commit)) + (name "go-github-com-reiver-go-porterstemmer") + (version (git-version "1.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/rcrowley/go-metrics") + (url "https://github.com/reiver/go-porterstemmer") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1hfxffnpaw49pr3wrkbzq3pnv3nyzsvk5dxndv0yz70xlrbg8a04")))) + (base32 "10inyn0hdwdp619fk9lamq7cffalq4b201s3m75dfsqrb46az1ph")))) (build-system go-build-system) (arguments - ;; Arbitrary precision tests are known to be broken on aarch64, ppc64le - ;; and s390x. See: https://github.com/rcrowley/go-metrics/issues/249 - `(#:tests? ,(not (string-prefix? "aarch64" (or (%current-target-system) - (%current-system)))) - #:import-path "github.com/rcrowley/go-metrics")) - (propagated-inputs - (list go-github-com-stathat-go)) - (synopsis "Go port of Coda Hale's Metrics library") - (description "This package provides a Go implementation of Coda Hale's -Metrics library.") - (home-page "https://github.com/rcrowley/go-metrics") - (license license:bsd-2)))) + (list + #:import-path "github.com/reiver/go-porterstemmer" + ;; Could not download test file (from web) from URL: + ;; [http://tartarus.org/martin/PorterStemmer/voc.txt] + #:test-flags #~(list "-skip" "TestHasSuffix|TestStemString") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (substitute* "porterstemmer_has_suffix_test.go" + ;; (*testing.common).Errorf format %d has arg + ;; datum.Expected of wrong type bool + (("%d") "%t")))))))) + (home-page "https://github.com/reiver/go-porterstemmer") + (synopsis "Clean room implementation of the Porter Stemming algorithm") + (description + "This package provides a native Go clean room implementation of the +Porter Stemming Algorithm.") + (license license:expat)))) (define-public go-github-com-remeh-sizedwaitgroup (package @@ -6750,6 +12788,135 @@ routines querying a database but without sending too much queries in order to not overload the given database.") (license license:expat))) +(define-public go-github-com-rifflock-lfshook + (package + (name "go-github-com-rifflock-lfshook") + (version "2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rifflock/lfshook") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/rifflock/lfshook")) + (propagated-inputs + (list go-github-com-sirupsen-logrus)) + (home-page "https://github.com/rifflock/lfshook") + (synopsis "Local File System hook for Logrus logger") + (description + "This package provides a hook for Logrus to write directly to a file on +the file system. The log levels are dynamic at instantiation of the hook, so +it is capable of logging at some or all levels.") + (license license:expat))) + +(define-public go-github-com-rivo-tview + (package + (name "go-github-com-rivo-tview") + (version "0.0.0-20241227133733-17b7edb88c57") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rivo/tview") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1w59vyvs8k5mzl7k39zpwcwwdgam2pbz0rnrfnnjgvkld1rh81dc")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/rivo/tview")) + (propagated-inputs + (list go-github-com-gdamore-tcell-v2 + go-github-com-lucasb-eyer-go-colorful + go-github-com-rivo-uniseg)) + (home-page "https://github.com/rivo/tview") + (synopsis "Rich Interactive Widgets for Terminal UIs") + (description + "The tview package implements rich widgets for terminal based user +interfaces. The widgets provided with this package are useful for data +exploration and data entry.") + (license license:expat))) + +(define-public go-github-com-rivo-uniseg + (package + (name "go-github-com-rivo-uniseg") + (version "0.4.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rivo/uniseg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0nlcqyvq4vhq3hqhk84h6fp0jbqkjj88kcpcl853yr7sh4sisdxc")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/rivo/uniseg")) + (home-page "https://github.com/rivo/uniseg") + (synopsis "Unicode Text Segmentation for Go") + (description + "This package implements Unicode Text Segmentation according to +@url{https://unicode.org/reports/tr29/, Unicode Standard Annex #29}.") + (license license:expat))) + +(define-public go-github-com-riywo-loginshell + (package + (name "go-github-com-riywo-loginshell") + (version "0.0.0-20200815045211-7d26008be1ab") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/riywo/loginshell") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "138yvis6lipw9x02jyiz7472bxi20206bcfikcar54i3xsww9q4i")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/riywo/loginshell" + ;; Tests try to get the current user's login shell; the build + ;; user doesn't have one. + #:tests? #f)) + (home-page "https://github.com/riywo/loginshell") + (synopsis "Get the user's login shell in Go") + (description + "The loginshell package provides a Go library to get the login shell of +the current user.") + (license license:expat))) + +(define-public go-github-com-robfig-cron-v3 + (package + (name "go-github-com-robfig-cron-v3") + (version "3.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/robfig/cron") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1agzbw2dfk2d1mpmddr85s5vh6ygm8kqrvfg87i9d2wqnlsnliqm")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/robfig/cron/v3")) + (home-page "https://godoc.org/github.com/robfig/cron") + (synopsis "Cron library for Go") + (description + "This package provides a cron library for Go. It implements a cron spec +parser and job runner.") + (license license:expat))) + (define-public go-github-com-rogpeppe-fastuuid (package (name "go-github-com-rogpeppe-fastuuid") @@ -6791,21 +12958,9 @@ strings.") (build-system go-build-system) (arguments (list + #:skip-build? #t #:import-path "github.com/rogpeppe/go-internal" - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'disable-failing-tests - (lambda* (#:key tests? import-path #:allow-other-keys) - (with-directory-excursion (string-append "src/" import-path) - (substitute* (find-files "." "\\_test.go$") - (("TestSimple") "OffTestSimple"))))) - ;; XXX: Replace when go-build-system supports nested path. - (delete 'build) - (replace 'check - (lambda* (#:key import-path tests? #:allow-other-keys) - (when tests? - (with-directory-excursion (string-append "src/" import-path) - (invoke "go" "test" "-v" "./...")))))))) + #:test-flags #~(list "-skip" "TestSimple/cover"))) (propagated-inputs (list go-golang-org-x-mod go-golang-org-x-sys @@ -6850,12 +13005,16 @@ Included are the following: (build-system go-build-system) (arguments (list - #:import-path "github.com/rs/zerolog")) + #:import-path "github.com/rs/zerolog" + ;; Unexpected error write unixgram @234fb->/run/systemd/journal/socket: + ;; sendmsg: no such file or directory + #:test-flags #~(list "-skip" "TestWriteReturnsNoOfWrittenBytes"))) (propagated-inputs (list go-github-com-coreos-go-systemd-v22 go-github-com-mattn-go-colorable go-github-com-pkg-errors - go-github-com-rs-xid)) + go-github-com-rs-xid + go-golang-org-x-tools)) (home-page "https://github.com/rs/zerolog") (synopsis "Zero Allocation JSON Logger") (description @@ -6863,6 +13022,50 @@ Included are the following: logging.") (license license:expat))) +(define-public go-github-com-russross-blackfriday + (package + (name "go-github-com-russross-blackfriday") + (version "1.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/russross/blackfriday") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "036028ynpq52z9snmd2b1kjzyvv6n9sg71k651ndznggnw19aamp")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/russross/blackfriday")) + (native-inputs + (list go-github-com-pmezard-go-difflib)) + (propagated-inputs + (list go-github-com-shurcool-sanitized-anchor-name)) + (home-page "https://github.com/russross/blackfriday") + (synopsis "Markdown processor in Go") + (description + "Blackfriday is a Markdown processor in Go.") + (license license:bsd-2))) + +(define-public go-github-com-russross-blackfriday-v2 + (package + (inherit go-github-com-russross-blackfriday) + (name "go-github-com-russross-blackfriday-v2") + (version "2.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/russross/blackfriday") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7")))) + (arguments + (list #:import-path "github.com/russross/blackfriday/v2")))) + + (define-public go-github-com-ryanuber-columnize (package (name "go-github-com-ryanuber-columnize") @@ -6886,6 +13089,30 @@ logging.") "This package implements column-formatted output for Golang.") (license license:expat))) +(define-public go-github-com-sabhiram-go-gitignore + (package + (name "go-github-com-sabhiram-go-gitignore") + (version "0.0.0-20210923224102-525f6e181f06") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sabhiram/go-gitignore") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "197giv3snczvbihzvkja5pq53yw5fc516rnjm71hni8gawb8jmh3")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/sabhiram/go-gitignore")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/sabhiram/go-gitignore") + (synopsis "Gitignore parser for Go") + (description "A @command{.gitignore} parser for Go.") + (license license:expat))) + (define-public go-github-com-sahilm-fuzzy (package (name "go-github-com-sahilm-fuzzy") @@ -6901,8 +13128,7 @@ logging.") (base32 "15j95gm7hcmg09x1b39vc4il8bryv4v0yljvvyq5vyc6iq66qrbz")))) (build-system go-build-system) (native-inputs - (list go-github-com-kylelemons-godebug - go-github-com-kylelemons-godebug-pretty)) + (list go-github-com-kylelemons-godebug)) (arguments (list #:import-path "github.com/sahilm/fuzzy")) (home-page "https://github.com/sahilm/fuzzy") @@ -6912,6 +13138,111 @@ logging.") symbols in the style of Sublime Text, VSCode, @code{IntelliJ} IDEA et al.") (license license:expat))) +(define-public go-github-com-saracen-walker + (package + (name "go-github-com-saracen-walker") + (version "0.1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/saracen/walker") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17i2zrbcp0zgwfgap555pk358wpqfa8qj8pmgwhjkzwd77nyl77g")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/saracen/walker")) + (inputs + (list go-golang-org-x-sync)) + (home-page "https://github.com/saracen/walker") + (synopsis "Faster, parallel version of Go's filepath.Walk") + (description + "The @code{walker} function is a faster, parallel version, of +@code{filepath.Walk}") + (license license:expat))) + +(define-public go-github-com-satori-go-uuid + (package + (name "go-github-com-satori-go-uuid") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/satori/go.uuid") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1j4s5pfg2ldm35y8ls8jah4dya2grfnx2drb4jcbjsyrp4cm5yfb")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/satori/go.uuid")) + (native-inputs + (list go-gopkg-in-check-v1)) + (home-page "https://github.com/satori/go.uuid") + (synopsis "UUID package for Go language") + (description + "Package uuid provides implementation of @acronym{Universally Unique +Identifier, UUID}. Supported versions are 1, 3, 4 and 5 (as specified in +@url{https://rfc-editor.org/rfc/rfc4122.html,RFC 4122}) and version 2 (as +specified in DCE 1.1).") + (license license:expat))) + +(define-public go-github-com-savsgio-gotils + (package + (name "go-github-com-savsgio-gotils") + (version "0.0.0-20240704082632-aef3928b8a38") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/savsgio/gotils") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s3xsq4wy2xi17wq0kzw2zszj9vwndzvvmkx7pp7crx8k43x16ll")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/savsgio/gotils")) + (propagated-inputs + (list go-github-com-google-uuid + go-github-com-valyala-bytebufferpool)) + (home-page "https://github.com/savsgio/gotils") + (synopsis "Golang utilities") + (description + "Golang utilities to make your life easier with zero allocations.") + (license license:asl2.0))) + +(define-public go-github-com-schachmat-ingo + (package + (name "go-github-com-schachmat-ingo") + (version "0.0.0-20170403011506-a4bdc0729a3f") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/schachmat/ingo") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gw0kddy7jh3467imsqni86cf9yq7k6vpfc0ywkbwj0zsjsdgd49")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/schachmat/ingo")) + (home-page "https://github.com/schachmat/ingo") + (synopsis "Go library to persist flags in a INI-like configuration file") + (description + "Ingo is a Go library helping you to persist flags in a INI-like +configuration file.") + (license license:isc))) + (define-public go-github-com-schollz-progressbar-v3 (package (name "go-github-com-schollz-progressbar-v3") @@ -6956,6 +13287,43 @@ detect the number of bytes written to a stream, so you can use it as a is undetermined, a customizable spinner is shown.") (license license:expat))) +(define-public go-github-com-sebdah-goldie-v2 + (package + (name "go-github-com-sebdah-goldie-v2") + (version "2.5.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebdah/goldie") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06hyzl7cl09dfsmd0lb88icklv5g59hgs5wqgngl39fbawkbc411")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "vendor") + (delete-file-recursively "v2/vendor"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/sebdah/goldie/v2" + #:unpack-path "github.com/sebdah/goldie" + ;; Test requires to refresh test data: "The first time running go test, + ;; with -update, without -clean". + #:test-flags #~(list "-skip" "TestCleanFunction"))) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-pmezard-go-difflib + go-github-com-sergi-go-diff)) + (home-page "https://github.com/sebdah/goldie") + (synopsis "Golden test utility") + (description + "Package goldie provides test assertions based on golden files. +It's typically used for testing responses with larger data bodies.") + (license license:expat))) + (define-public go-github-com-sergi-go-diff (package (name "go-github-com-sergi-go-diff") @@ -7082,6 +13450,67 @@ sensors).") ;; environment. (string-append "src/" import-path "/host/host_test.go"))))))))) +(define-public go-github-com-shurcool-sanitized-anchor-name + (package + (name "go-github-com-shurcool-sanitized-anchor-name") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/shurcooL/sanitized_anchor_name") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/shurcooL/sanitized_anchor_name")) + (home-page "https://github.com/shurcooL/sanitized_anchor_name") + (synopsis "Create sanitized anchor names") + (description + "This package provides a Go program for creating sanitized anchor +names.") + (license license:expat))) + +(define-public go-github-com-sirupsen-logrus + (package + (name "go-github-com-sirupsen-logrus") + (version "1.9.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sirupsen/logrus") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jz7nyq88i9fwfpp7krl046q62kjn6lb9j4r932bxnpypl1hwc49")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/sirupsen/logrus" + #:test-flags #~(list "-skip" "TestNestedLoggingReportsCorrectCaller") + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-golang-org-x-sys)) + (home-page "https://github.com/sirupsen/logrus") + (synopsis "Structured, pluggable logging for Go") + (description "Logrus is a structured logger for Go, completely API +compatible with the standard library logger.") + (license license:expat))) + (define-public go-github-com-skip2-go-qrcode (package (name "go-github-com-skip2-go-qrcode") @@ -7103,6 +13532,58 @@ sensors).") (description "This package provides a QR code encoder for the Goloang.") (license license:expat))) +(define-public go-github-com-skratchdot-open-golang + (package + (name "go-github-com-skratchdot-open-golang") + (version "0.0.0-20200116055534-eef842397966") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/skratchdot/open-golang") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n6387csjn024db8wldadsiy8ljz7lk7szl6ls28fcbkax7rw86y")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:tests? #f ; requires xdg-open and firefox in the PATH + #:import-path "github.com/skratchdot/open-golang")) + (home-page "https://github.com/skratchdot/open-golang") + (synopsis "Open a file, directory, or URI using the default application") + (description + "Open a file, directory, or URI using the OS's default application for +that object type. Optionally, you can specify an application to use. On +GNU/Linux, this is a proxy for the @command{xdg-open} command.") + (license license:expat))) + +(define-public go-github-com-smacker-go-tree-sitter + (package + (name "go-github-com-smacker-go-tree-sitter") + (version "0.0.0-20240827094217-dd81d9e9be82") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/smacker/go-tree-sitter") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15c7w5dv7zvhvgrf71fp5l74mjkiniqgz2cbv024pmkcwsvv48yj")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/smacker/go-tree-sitter")) + (native-inputs (list go-github-com-stretchr-testify)) + (home-page "https://github.com/smacker/go-tree-sitter") + (synopsis "Golang bindings for tree-sitter") + (description + "This package provides a bindings for +@url{https://github.com/tree-sitter/tree-sitter, tree-sitter} in Golang.") + (license license:expat))) + (define-public go-github-com-songgao-water (package (name "go-github-com-songgao-water") @@ -7178,6 +13659,82 @@ Use waterutil with it to work with TUN/TAP packets/frames.") "Quant provides an interface for image color quantizers.") (license license:expat))) +(define-public go-github-com-spf13-afero + (package + (name "go-github-com-spf13-afero") + ;; TODO: It's the latest version which does not require + ;; google.golang.org/api, pulling 400+ missing dependencies. + (version "1.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spf13/afero") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yi8p0yxiidpcg4cagxg2iyqcaapsng89rak4qyxmgails2fqg37")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/spf13/afero" + #:phases + #~(modify-phases %standard-phases + ;; XXX: Replace when go-build-system supports nested path. + (replace 'check + (lambda* (#:key import-path tests? #:allow-other-keys) + (when tests? + (with-directory-excursion (string-append "src/" import-path) + (invoke "go" "test" "-v" "./...")))))))) + (propagated-inputs + (list go-github-com-pkg-sftp + go-golang-org-x-text)) + (home-page "https://github.com/spf13/afero") + (synopsis "File system abstraction for Go") + (description + "This package provides a file system abstraction for Go.") + (license license:asl2.0))) + +;; XXX: For chezmoi 1.8.10, remove it when updated. +(define-public go-github-com-spf13-afero-1.1.2 + (hidden-package (package (inherit go-github-com-spf13-afero) + (name "go-github-com-spf13-afero") + (version "1.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spf13/afero") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k"))))))) + +(define-public go-github-com-spf13-cast + (package + (name "go-github-com-spf13-cast") + (version "1.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spf13/cast") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1l39v7zd8i8vvwls2frfxc583im5nj5x5lrdss4pcc36cd5a9vf4")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/spf13/cast")) + (native-inputs + (list go-github-com-frankban-quicktest)) + (home-page "https://github.com/spf13/cast") + (synopsis "Safe and easy casting from one type to another in Go") + (description + "Safe and easy casting from one type to another in Go.") + (license license:expat))) + (define-public go-github-com-spf13-cobra (package (name "go-github-com-spf13-cobra") @@ -7194,9 +13751,13 @@ Use waterutil with it to work with TUN/TAP packets/frames.") (build-system go-build-system) (arguments (list + #:test-flags #~(list "-skip" "TestGenManSeeAlso") #:import-path "github.com/spf13/cobra")) + (native-inputs + (list go-gopkg-in-yaml-v3)) (propagated-inputs - (list go-github-com-spf13-pflag)) + (list go-github-com-go-md2man + go-github-com-spf13-pflag)) (home-page "https://github.com/spf13/cobra") (synopsis "Go library for creating CLI applications") (description @@ -7204,28 +13765,170 @@ Use waterutil with it to work with TUN/TAP packets/frames.") well as a program to generate applications and command files.") (license license:asl2.0))) -(define-public go-github-com-stathat-go - (let ((commit "74669b9f388d9d788c97399a0824adbfee78400e") - (revision "0")) - (package - (name "go-github-com-stathat-go") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/stathat/go") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw")))) - (build-system go-build-system) - (arguments - `(#:import-path "github.com/stathat/go")) - (synopsis "Post statistics to StatHat") - (description "This is a Go package for posting to a StatHat account.") - (home-page "https://github.com/stathat/go") - (license license:expat)))) +(define-public go-github-com-spf13-jwalterweatherman + (package + (name "go-github-com-spf13-jwalterweatherman") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spf13/jwalterweatherman") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/spf13/jwalterweatherman")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/spf13/jwalterweatherman") + (synopsis "Go logging library") + (description + "JWW is primarily a wrapper around the standard log library. It provides +a few advantages over using the standard log library alone. + +@itemize +@item ready to go out of the box +@item one library for both printing to the terminal and logging (to files) +@item really easy to log to either a temp file or a file you specify +@end itemize") + (license license:expat))) + +;; XXX: Not maintained for 3y, see +;; <https://github.com/spf13/pflag/issues/385>. +(define-public go-github-com-spf13-pflag + (package + (name "go-github-com-spf13-pflag") + (version "1.0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spf13/pflag") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31")) + (snippet + #~(begin + (use-modules (guix build utils)) + ;; Fix compatibility with go-1.19+ + ;; https://github.com/spf13/pflag/issues/368 + (substitute* "flag_test.go" + (("fmt\\.Println") "fmt.Print") + (("\\+ got\\)") "+ got + \"\\n\")") + (("\\+ defaultOutput\\)") "+ defaultOutput + \"\\n\")")))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/spf13/pflag")) + (home-page "https://github.com/spf13/pflag") + (synopsis "Replacement for Go's @code{flag} package") + (description + "Pflag is library to replace Go's @code{flag} package. It implements +POSIX/GNU-style command-line options with double hyphens. It is is compatible +with the +@uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html, +GNU extensions} to the POSIX recommendations for command-line options.") + (license license:bsd-3))) + +(define-public go-github-com-spf13-viper + (package + (name "go-github-com-spf13-viper") + ;; Refreshing to a newer version requires long chain of missing packages. + (version "1.8.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spf13/viper") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jcsvd9l05pv10rma6zicp44q2mlvxj0qlhnf4zcg2pymb5i0hq6")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/spf13/viper" + ;; Optional modules are not packed. + #:test-subdirs #~(list "."))) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-fsnotify-fsnotify + go-github-com-hashicorp-hcl + go-github-com-magiconair-properties + go-github-com-mitchellh-mapstructure + go-github-com-pelletier-go-toml + go-github-com-spf13-afero + go-github-com-spf13-cast + go-github-com-spf13-jwalterweatherman + go-github-com-spf13-pflag + go-github-com-subosito-gotenv + go-gopkg-in-ini-v1 + go-gopkg-in-yaml-v2)) + (home-page "https://github.com/spf13/viper") + (synopsis "Go configuration with fangs") + (description + "Viper is a complete configuration solution for Go applications including +12-Factor apps. It is designed to work within an application, and can handle +all types of configuration needs and formats.") + (license license:expat))) + +(define-public go-github-com-ssor-bom + (package + (name "go-github-com-ssor-bom") + (version "0.0.0-20170718123548-6386211fdfcf") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ssor/bom") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09g5496ifwqxqclh2iw58plcwcz0sczlnxwqxzwmnl4shdl371ld")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/ssor/bom")) + (home-page "https://github.com/ssor/bom") + (synopsis "Cleaning BOMs in Go") + (description + "The bom package provides small tools for cleaning BOMs from a byte array +or reader.") + (license license:expat))) + +(define-public go-github-com-stoewer-go-strcase + (package + (name "go-github-com-stoewer-go-strcase") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stoewer/go-strcase") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gqswiyj71h676lmqb78rs125iq8msklymhzw0w59afywxqsaj2z")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/stoewer/go-strcase")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/stoewer/go-strcase") + (synopsis "Convert snake case, camel case and kebap case strings") + (description + "Package strcase converts between different kinds of naming formats such +as camel case (@code{CamelCase}), snake case (@code{snake_case}) or kebab +case (@code{kebab-case}). The package is designed to work only with strings +consisting of standard ASCII letters.") + (license license:expat))) (define-public go-github-com-stretchr-objx (package @@ -7292,6 +13995,70 @@ slices, JSON and other data.") "Go library for loading environment variables from files") (license license:expat))) +(define-public go-github-com-surge-glog + (package + (name "go-github-com-surge-glog") + (version "0.0.0-20141108051140-2578deb2b95c") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/surge/glog") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bxcwxvsvr2hfpjz9hrrn0wrgykwmrbyk567102k3vafw9xdcwk4")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/surge/glog")) + (home-page "https://github.com/surge/glog") + (synopsis "Leveled execution logs for Go") + (description + "Leveled execution logs for Go.") + (license license:asl2.0))) + +(define-public go-github-com-surgebase-porter2 + (package + (name "go-github-com-surgebase-porter2") + (version "0.0.0-20150829210152-56e4718818e8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/surgebase/porter2") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ivcf83jlj9s7q5y9dfbpyl0br35cz8fcp0dm8sxxvqh54py06v2")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/surgebase/porter2" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (substitute* "cmd/suffixfsm/suffixfsm.go" + ;; fmt.Println arg list ends with redundant newline + (("fmt.Println") "fmt.Printf")))))))) + (native-inputs + (list go-github-com-agonopol-go-stem + go-github-com-dchest-stemmer + go-github-com-kljensen-snowball + go-github-com-reiver-go-porterstemmer + go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-surge-glog)) + (home-page "https://github.com/surgebase/porter2") + (synopsis "Go library implementing english Porter2 stemmer") + (description + "Porter2 implements the +@url{http://snowball.tartarus.org/algorithms/english/stemmer.html, english +Porter2 stemmer}. It is written completely using finite state machines to do +suffix comparison, rather than the string-based or tree-based approaches.") + (license license:asl2.0))) + (define-public go-github-com-syndtr-goleveldb (package (name "go-github-com-syndtr-goleveldb") @@ -7360,6 +14127,60 @@ storage system.") @url{https://en.wikipedia.org/wiki/Bloom_filter, bloom filter}.") (license license:bsd-2))) +(define-public go-github-com-tdewolff-argp + (package + (name "go-github-com-tdewolff-argp") + (version "0.0.0-20240625173203-87b04d5d3e52") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tdewolff/argp") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0d2xqir997qrxkwmbb6pn5hgl9ii0nz19f19lrgc4ixjhxxjwyy5")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/tdewolff/argp")) + (native-inputs + (list go-github-com-tdewolff-test)) + (propagated-inputs + (list go-github-com-go-sql-driver-mysql + go-github-com-jmoiron-sqlx + go-github-com-pelletier-go-toml)) + (home-page "https://github.com/tdewolff/argp") + (synopsis "GNU command line argument parser") + (description "Command line argument parser following the GNU standard.") + (license license:expat))) + +(define-public go-github-com-tdewolff-hasher + (package + (name "go-github-com-tdewolff-hasher") + (version "0.0.0-20210521220142-bc97f602bca2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tdewolff/hasher") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12dmxpmdy2z7c2z7qv2mv2aq4hyvjncb6fzr0ymg3y5bfjvl4dcw")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/tdewolff/hasher")) + (native-inputs + (list go-github-com-cespare-mph + go-github-com-dgryski-go-mph)) + (home-page "https://github.com/tdewolff/hasher") + (synopsis "Go known-keys fast-lookup map generator") + (description + "Hasher is a tool to automate the creation of methods and tables for a +@code{string} to @code{uint32} mapper.") + (license license:bsd-3))) + (define-public go-github-com-teambition-rrule-go (package (name "go-github-com-teambition-rrule-go") @@ -7418,6 +14239,54 @@ Included modules are: @end itemize") (license license:expat))) +(define-public go-github-com-templexxx-cpu + (package + (name "go-github-com-templexxx-cpu") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/templexxx/cpu") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bfygzjz2n8fbc9n9k7hfdnaz5mw6g4n4n1q3a0hyv33j9bvl5hh")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/templexxx/cpu")) + (home-page "https://github.com/templexxx/cpu") + (synopsis "@code{internal/cpu} in Go (add AVX512)") + (description + "Package cpu implements processor feature detection used by the Go +standard library.") + (license license:bsd-3))) + +(define-public go-github-com-templexxx-xorsimd + (package + (name "go-github-com-templexxx-xorsimd") + (version "0.4.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/templexxx/xorsimd") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01227dcf5mjc2v9f3shvqvbx3vxz89la7imjnjfmas61fcjwdlj5")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/templexxx/xorsimd")) + (propagated-inputs (list go-github-com-templexxx-cpu)) + (home-page "https://github.com/templexxx/xorsimd") + (synopsis "XOR in pure Golang") + (description + "This package provides XOR bitwise code engine.") + (license license:expat))) + (define-public go-github-com-thejerf-suture (package (name "go-github-com-thejerf-suture") @@ -7701,6 +14570,506 @@ supported by the time package @end itemize") (license license:expat))) +(define-public go-github-com-tomwright-dasel-v2 + (package + (name "go-github-com-tomwright-dasel-v2") + (version "2.8.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TomWright/dasel") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qh32gq0x0lc4j4w326skxw4nblf2v71ychd8dk6h3ra5d22bbmy")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.22 + #:embed-files #~(list ".*\\.xml") + #:import-path "github.com/tomwright/dasel/v2")) + (propagated-inputs + (list go-github-com-alecthomas-chroma-v2 + go-github-com-clbanning-mxj-v2 + go-github-com-pelletier-go-toml-v2 + go-github-com-spf13-cobra + go-golang-org-x-net + go-golang-org-x-text + go-gopkg-in-yaml-v3)) + (home-page "https://github.com/tomwright/dasel") + (synopsis "Tool to work with JSON, TOML, YAML, XML and CSV files") + (description + "Dasel (short for data-selector) allows you to query and modify data +structures using selector strings. It's similar to @code{jq}/@code{yq}, but +supports JSON, YAML, TOML, XML and CSV with zero runtime dependencies.") + (license license:expat))) + +(define-public go-github-com-twpayne-go-shell + (package + (name "go-github-com-twpayne-go-shell") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/twpayne/go-shell") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rnwdlhiakcigmz55fhn0wib6vi064cqxfq512mi880j9yqx4114")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/twpayne/go-shell")) + (native-inputs + (list go-github-com-alecthomas-assert-v2)) + (home-page "https://github.com/twpayne/go-shell") + (synopsis "Shell across multiple platforms") + (description + "Package @code{shell} returns a user's shell across multiple platforms.") + (license license:expat))) + +(define-public go-github-com-twpayne-go-vfs-v5 + (package + (name "go-github-com-twpayne-go-vfs-v5") + (version "5.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/twpayne/go-vfs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "152hbb6ww2f2ac2bf1d446vw8z8m22n1rsa7gvlzfa060vj9hjgx")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/twpayne/go-vfs/v5")) + (native-inputs + (list go-github-com-alecthomas-assert-v2)) + (home-page "https://github.com/twpayne/go-vfs/") + (synopsis "Abstraction of the @code{os} and @code{ioutil} Go packages") + (description + "Package @code{vfs} provides an abstraction of the @code{os} and +@code{ioutil} packages that is easy to test.") + (license license:expat))) + +;; XXX: For chezmoi 2.30.1, remove it when updated. +(define-public go-github-com-twpayne-go-vfs-v4 + (hidden-package (package (inherit go-github-com-twpayne-go-vfs-v5) + (name "go-github-com-twpayne-go-vfs-v4") + (version "4.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/twpayne/go-vfs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1hbrm6b0ca116h8mc8nkq04nba685wmp52pz5980ivvi86ji9b1y")))) + (arguments + (list + #:import-path "github.com/twpayne/go-vfs/v4"))))) + +;; XXX: For chezmoi 1.8.10, remove it when updated. +(define-public go-github-com-twpayne-go-vfs-1.0.1 + (hidden-package (package (inherit go-github-com-twpayne-go-vfs-v5) + (name "go-github-com-twpayne-go-vfs") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/twpayne/go-vfs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1if2wfdwl3h8v8kgrgywkwcjafcz7hynq8ikr52s11qf2n0w3gny")))) + (arguments + (list + #:import-path "github.com/twpayne/go-vfs"))))) + +(define-public go-github-com-twpayne-go-xdg-v3 + (package + (name "go-github-com-twpayne-go-xdg-v3") + (version "3.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/twpayne/go-xdg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0j8q7yzixs6jlaad0lpa8hs6b240gm2cmy0yxgnprrbpa0y2r7ln")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/twpayne/go-xdg/v3")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-twpayne-go-vfs-1.0.1)) + (home-page "https://github.com/twpayne/go-xdg/") + (synopsis "Functions related to freedesktop.org") + (description + "Package @code{xdg} provides functions related to +@uref{freedesktop.org}.") + (license license:expat))) + +(define-public go-github-com-twpayne-go-xdg-v6 + (package + (inherit go-github-com-twpayne-go-xdg-v3) + (name "go-github-com-twpayne-go-xdg-v6") + (version "6.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/twpayne/go-xdg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ihpljay4waw3qss40bwd230wwpq3vm25qiy3y5yfhmybk8wr6jx")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/twpayne/go-xdg/v6")) + (native-inputs + (list go-github-com-alecthomas-assert-v2)) + (propagated-inputs + (list go-github-com-twpayne-go-vfs-v5)))) + +(define-public go-github-com-txthinking-runnergroup + (package + (name "go-github-com-txthinking-runnergroup") + (version "0.0.0-20241229123329-7b873ad00768") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/txthinking/runnergroup") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0l0accx6c880smkcma0qca3c67kx8p1bc4q2zq54iv8yjy1b2h4w")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/txthinking/runnergroup")) + (home-page "https://github.com/txthinking/runnergroup") + (synopsis "Golang standard @code{sync.WaitGroup} alternative") + (description + "This package implements a similar functionality like standard +@code{sync.WaitGroup}}, the difference is if one task stops, all will be +stopped.") + (license license:expat))) + +(define-public go-github-com-urfave-cli + (package + (name "go-github-com-urfave-cli") + (version "1.22.16") + (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 "022abbjwr3g2vbyfbdc1hg09d753hfba21b69n2nkrx168ag5ahd")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/urfave/cli")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-burntsushi-toml + go-github-com-go-md2man + go-gopkg-in-yaml-v2)) + (home-page "https://github.com/urfave/cli") + (synopsis "Simple, fast, and fun package for building command line apps in Go") + (description + "@command{cli} is a simple, fast, and fun package for building command +line apps in Go. The goal is to enable developers to write 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.27.5") + (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 "03237hi2jqvms9cif4varyap3j1dhzcf1mr809dm7ncvzk7gxg83")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/urfave/cli/v2/cmd/urfave-cli-genflags + (delete-file-recursively "cmd"))))) + (arguments + (list #:import-path "github.com/urfave/cli/v2")) + (propagated-inputs + (list go-github-com-burntsushi-toml + go-github-com-go-md2man + go-github-com-xrash-smetrics + go-gopkg-in-yaml-v3)))) + +(define-public go-github-com-valyala-bytebufferpool + (package + (name "go-github-com-valyala-bytebufferpool") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/valyala/bytebufferpool") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/valyala/bytebufferpool")) + (home-page "https://github.com/valyala/bytebufferpool") + (synopsis "Anti-memory-waste byte buffer pool for Golang") + (description + "@code{bytebufferpool} implements a pool of byte buffers with +anti-fragmentation protection.") + (license license:expat))) + +(define-public go-github-com-valyala-fasttemplate + (package + (name "go-github-com-valyala-fasttemplate") + (version "1.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/valyala/fasttemplate") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12hywkz2mfvxzfpgabc53bm4jkxxmcssrr0k4wxzzrnv0v7mj6bj")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "vendor"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/valyala/fasttemplate")) + (propagated-inputs + (list go-github-com-valyala-bytebufferpool)) + (home-page "https://github.com/valyala/fasttemplate") + (synopsis "Template engine for Golang") + (description + "Package fasttemplate implements simple and fast template library.") + (license license:expat))) + +(define-public go-github-com-vburenin-ifacemaker + (package + (name "go-github-com-vburenin-ifacemaker") + (version "1.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vburenin/ifacemaker") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00031373i4xqrsaf7yv93czfmcf5qzn94mmqwamyjd6gpq37p1hl")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/vburenin/ifacemaker")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-jessevdk-go-flags + go-golang-org-x-tools)) + (home-page "https://github.com/vburenin/ifacemaker") + (synopsis "Generate interfaces from structure methods in Golang") + (description + "This is a development helper program that generates a Golang interface +by inspecting the structure methods of an existing @code{.go} file. The +primary use case is to generate interfaces for gomock, so that gomock can +generate mocks from those interfaces.") + (license license:asl2.0))) + +(define-public go-github-com-viant-toolbox + (package + (name "go-github-com-viant-toolbox") + (version "0.37.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/viant/toolbox") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1m49nar5cwx3wqym20awh7yw4fw2bdw21m4h71bx4g688gv1kri4")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/viant/toolbox" + #:test-flags #~(list "-skip" "TestCase_To|Test_NewReplayService") + #:test-subdirs #~(list "bridge/..." + "cred/..." + "data/..." + "format/..." + "sampler/..." + "secret/..." + "ssh/..." + "test/..." + "unsafe/..." + "url/..."))) + (native-inputs + (list go-github-com-stretchr-testify)) + ;; XXX: No go.mod to list dependencies, see + ;; <https://github.com/viant/toolbox/pull/51>. + (propagated-inputs + (list ;go-cloud-google-com-go-storage + ;go-github-com-aws-aws-sdk-go-aws + ;go-github-com-aws-aws-sdk-go-aws-credentials + ;go-github-com-aws-aws-sdk-go-aws-session + ;go-github-com-aws-aws-sdk-go-service-kms + ;go-github-com-aws-aws-sdk-go-service-s3 + ;go-github-com-aws-aws-sdk-go-service-s3-s3manager + ;go-github-com-aws-aws-sdk-go-service-ssm + go-github-com-go-errors-errors + go-github-com-lunixbochs-vtclean + go-github-com-pkg-errors + go-github-com-viant-xunsafe + go-golang-org-x-crypto + go-golang-org-x-oauth2 + ;go-google-golang-org-api-cloudkms-v1 + ;go-google-golang-org-api-option + go-gopkg-in-yaml-v2)) + (home-page "https://github.com/viant/toolbox") + (synopsis "Utility library for Golang") + (description + "This package provides set of utilities/abstractions developed as part of +datastore connectivity and testing (viant/dsc, viant/dsunit).") + (license license:asl2.0))) + +(define-public go-github-com-viant-toolbox-bootstrap + (hidden-package + (package + (inherit go-github-com-viant-toolbox) + (arguments + (list #:tests? #f + #:import-path "github.com/viant/toolbox" + #:phases + #~(modify-phases %standard-phases + (delete 'build)))) + (propagated-inputs + (list go-github-com-go-errors-errors + go-github-com-pkg-errors + go-gopkg-in-yaml-v2))))) + +(define-public go-github-com-viant-xreflect + (package + (name "go-github-com-viant-xreflect") + (version "0.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/viant/xreflect") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1r5y3cbs8z9frgfqrq2yv77z43fv36s7jrk49prpbfsskgpk8rh2")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f ; to break import cycle + #:import-path "github.com/viant/xreflect")) + (propagated-inputs + (list go-golang-org-x-mod)) + (home-page "https://github.com/viant/xreflect") + (synopsis "Golang reflection extension") + (description + "This package provides a reflection extension.") + (license license:unlicense))) + +(define-public go-github-com-viant-xunsafe + (package + (name "go-github-com-viant-xunsafe") + (version "0.9.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/viant/xunsafe") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ddf9grf7rczik9rzwmz10xagn65sn1n7mhkp7app0d3nc3xdlgs")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/viant/xunsafe")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-viant-xreflect)) + (home-page "https://github.com/viant/xunsafe") + (synopsis "Faster Golang reflection") + (description + "This package provides a implementation reflection that greatly improved +performance, that is between 25 to 50x time faster than native one.") + (license license:asl2.0))) + +(define-public go-github-com-vito-midterm + (package + (name "go-github-com-vito-midterm") + (version "0.1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vito/midterm") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bvgw84750xfpm89hrab7pzfv1d5dy94igiqwzk5ivy4yca90ipw")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/vito/midterm")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-charmbracelet-bubbletea + go-github-com-creack-pty + go-github-com-muesli-termenv + go-github-com-sebdah-goldie-v2 + go-golang-org-x-term)) + (home-page "https://github.com/vito/midterm") + (synopsis "In-memory terminal emulator") + (description + "This package implements an in-memory terminal emulator, designed to be +used as a component within a larger application for displaying logs, running +interactive shells, or rendering terminal output.") + (license license:expat))) + (define-public go-github-com-vitrun-qart (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa") (revision "0")) @@ -7752,6 +15121,113 @@ encoded values to create the picture in a code with no inherent errors.") weighted moving averages}.") (license license:expat))) +(define-public go-github-com-vmihailenco-msgpack-v4 + (package + (name "go-github-com-vmihailenco-msgpack-v4") + (version "4.3.13") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vmihailenco/msgpack") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08jdq8wh6i1f2avl46l5ndfrvhfl4l276hz4y1xq6agwbwrvycdy")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/vmihailenco/msgpack/v4")) + (native-inputs + (list go-gopkg-in-check-v1)) + (propagated-inputs + (list go-github-com-vmihailenco-tagparser)) + (home-page "https://github.com/vmihailenco/msgpack") + (synopsis "MessagePack encoding for Golang") + (description + "This package provides implementation of MessagePack encoding for Go +programming language.") + (license license:bsd-2))) + +(define-public go-github-com-vmihailenco-msgpack-v5 + (package + (inherit go-github-com-vmihailenco-msgpack-v4) + (name "go-github-com-vmihailenco-msgpack-v5") + (version "5.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vmihailenco/msgpack") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vkyyywvip0vwjmnmnmkl9hz345k54nigj2mq8fbbjx96xpgghvz")))) + (arguments + (list + #:import-path "github.com/vmihailenco/msgpack/v5")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-vmihailenco-tagparser + go-google-golang-org-appengine)))) + +(define-public go-github-com-vmihailenco-tagparser + (package + (name "go-github-com-vmihailenco-tagparser") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vmihailenco/tagparser") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13arliaz3b4bja9jj7cr5ax4zvxaxm484fwrn0q6d6jjm1l35m1k")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/vmihailenco/tagparser")) + (home-page "https://github.com/vmihailenco/tagparser") + (synopsis "Tag parser for Golang") + (description + "This package is a simple Golang implementation of tag parser.") + (license license:bsd-2))) + +(define-public go-github-com-warpfork-go-fsx + (package + (name "go-github-com-warpfork-go-fsx") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/warpfork/go-fsx") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1yhh42vp12hnkhlfimcab4a2df2apprnlg3ll75yr2pd0b001p5b")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/warpfork/go-fsx")) + (home-page "https://github.com/warpfork/go-fsx") + (synopsis "Extended filesystem interface for Golang") + (description + "This package, @code{fsx}, takes the style of the io/fs package, and +extends it with more features: +@itemize +@item fsx provides the ability to write files (using OpenFile, which is much +like the os package feature you're already familiar with) +@item fsx provides the ability to create directories +@item fsx provides the ability to delete files and directories +@item fsx provides features for reading symlinks, and creating them +@end itemize") + ;; This library is multiply-licensed under either of Apache 2.0 or MIT or + ;; BSD-3-Clause terms. + (license (list license:expat license:asl2.0 license:bsd-3)))) + (define-public go-github-com-whyrusleeping-base32 (package (name "go-github-com-whyrusleeping-base32") @@ -7937,6 +15413,116 @@ edges and self-loops are not permitted. @end itemize") (license license:asl2.0))) +(define-public go-github-com-xaionaro-go-unsafetools + (package + (name "go-github-com-xaionaro-go-unsafetools") + (version "0.0.0-20241024014258-a46e1ce3763e") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xaionaro-go/unsafetools") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "153qlgq5sjg3gsw5v6an0mck8v5pmxf5mnys41ykp97yqp53mgcp")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/xaionaro-go/unsafetools")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/xaionaro-go/unsafetools") + (synopsis "Access to private/unexported fields of a structure") + (description + "This package provides function @code{FieldByName} to access to any field +(including private/unexported) of a structure.") + (license license:cc0))) + +(define-public go-github-com-xaionaro-go-bytesextra + (package + (name "go-github-com-xaionaro-go-bytesextra") + (version "0.0.0-20220103144954-846e454ddea9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xaionaro-go/bytesextra") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zggis1mdrfnashngg5hc6a6r6glcxzgj87ali7qdi02bnrl8s9i")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/xaionaro-go/bytesextra")) + (native-inputs (list go-github-com-stretchr-testify)) + (home-page "https://github.com/xaionaro-go/bytesextra") + (synopsis "Golang library for bytes I/O") + (description + "This packae provides @code{io.ReadWriteSeeker} implementation for +@code{[]byte}.") + (license license:cc0))) + +(define-public go-github-com-xaionaro-gosrc + (let ((commit "3fdf8476a735bd7ddd90579862e2e548787b17b6") + (revision "0")) + (package + (name "go-github-com-xaionaro-gosrc") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xaionaro-go/gosrc") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0j0y0r0nj39537x7yk9yfc3k6dqbw14b65ykjnbmsxkhpjjpxf3v")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/xaionaro-go/gosrc")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-xaionaro-go-unsafetools + go-github-com-fatih-structtag)) + (home-page "https://github.com/xaionaro-go/gosrc") + (synopsis "Parse Go packages to handy structures") + (description + "This package just simplifies working with @code{go/*} packages to parse +a source code. Initially the package was written to simplify code +generation.") + (license license:cc0)))) + +(define-public go-github-com-xdg-go-stringprep + (package + (name "go-github-com-xdg-go-stringprep") + (version "1.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xdg-go/stringprep") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xvaf2xiy34ra4xz75d6kylr29jv00dnyk14mh8kmq5692n8lqvb")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/xdg-go/stringprep")) + (propagated-inputs + (list go-golang-org-x-text)) + (home-page "https://github.com/xdg-go/stringprep") + (synopsis "Go implementation of RFC-3454 stringprep and RFC-4013 SASLprep") + (description + "Package stringprep provides data tables and algorithms for RFC-3454, +including errata. It also provides a profile for SASLprep as defined in +RFC-4013.") + (license license:asl2.0))) + (define-public go-github-com-xhit-go-str2duration-v2 (package (name "go-github-com-xhit-go-str2duration-v2") @@ -7987,6 +15573,193 @@ similar string with weeks or days too.") "This package provides a simple ASCII tree composing tool.") (license license:expat))) +(define-public go-github-com-xo-terminfo + (package + (name "go-github-com-xo-terminfo") + (version "0.0.0-20220910002029-abceb7e1c41e") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xo/terminfo") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n3b37z76rz3l74mhrvviz66xa8dqwpvc2gb6cyzql5smbcs9y3a")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/xo/terminfo")) + (native-inputs + (list go-golang-org-x-exp)) + (home-page "https://github.com/xo/terminfo") + (synopsis "Read the terminfo database in Go") + (description + "The terminfo package implements terminfo database reading for Go.") + (license license:expat))) + +(define-public go-github-com-xrash-smetrics + (package + (name "go-github-com-xrash-smetrics") + (version "0.0.0-20240521201337-686a1a2994c1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xrash/smetrics") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "057wgbz16n416zp23j5iv2lsd0nidbd92r4f1h8s3c1svkkqvk0a")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/xrash/smetrics")) + (home-page "https://github.com/xrash/smetrics") + (synopsis "String metrics library") + (description + "Package smetrics provides a bunch of algorithms for calculating the +distance between strings. There are implementations for calculating the +popular Levenshtein distance (aka Edit Distance or Wagner-Fischer), as well as +the Jaro distance, the Jaro-Winkler distance, and more.") + (license license:expat))) + +(define-public go-github-com-xtgo-uuid + (package + (name "go-github-com-xtgo-uuid") + (version "0.0.0-20140804021211-a0b114877d4c") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xtgo/uuid") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10pmay90is5x8cv5ckcajw3s7g2rpk4ix6kl4qhq8qx05x2ivlrw")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/xtgo/uuid")) + (home-page "https://github.com/xtgo/uuid") + (synopsis "Go UUID parsing and generation") + (description + "Package uuid can be used to generate and parse universally unique +identifiers, a standardized format in the form of a 128 bit number.") + (license license:bsd-3))) + +(define-public go-github-com-xuanwo-go-locale + (package + (name "go-github-com-xuanwo-go-locale") + (version "1.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Xuanwo/go-locale") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09d68ay4kcic82xjdl9b3zi5nq0srxanprk5p32n5yxqirb0pbxd")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/Xuanwo/go-locale")) + (propagated-inputs + (list go-golang-org-x-sys + go-golang-org-x-text)) + (home-page "https://github.com/Xuanwo/go-locale") + (synopsis "Locale detection in Golang") + (description + "This package provides a functionality for cross-platform locale +detection.") + (license license:asl2.0))) + +;; XXX: The latest release v0.1.1 was in 2014, master branch has more changes +;; since that time, use the latest commit. +(define-public go-github-com-yosuke-furukawa-json5 + (let ((commit "cf7bb3f354ffe5d5ad4c9b714895eab7e0498b5f") + (revision "0")) + (package + (name "go-github-com-yosuke-furukawa-json5") + (version (git-version "0.1.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yosuke-furukawa/json5") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05h9ipfjr2ww8b89zq1sm1q9wfasjnmzwlxa241wppqajn3rvr7s")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/yosuke-furukawa/json5")) + (home-page "https://github.com/yosuke-furukawa/json5") + (synopsis "JSON5 implemented in Golang") + (description + "This package provides an implementation of +@url{https://github.com/yosuke-furukawa/json5, JSON5}.") + (license license:bsd-3)))) + +(define-public go-github-com-yudai-gojsondiff + (package + (name "go-github-com-yudai-gojsondiff") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yudai/gojsondiff") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qnymi0027mb8kxm24mmd22bvjrdkc56c7f4q3lbdf93x1vxbbc2")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "vendor"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/yudai/gojsondiff" + #:test-subdirs #~(list "formatter/..."))) + (native-inputs + (list go-github-com-onsi-ginkgo)) + (propagated-inputs + (list go-github-com-sergi-go-diff + go-github-com-yudai-golcs)) + (home-page "https://github.com/yudai/gojsondiff") + (synopsis "JSON Diff and Patch for Golang") + (description + "This package implements a \"diff\" algorithm that compares two JSON +objects and generates deltas that describe the differences between them. The +deltas can be applied to a JSON object to \"patch\" them.") + (license license:expat))) + +(define-public go-github-com-yudai-golcs + (package + (name "go-github-com-yudai-golcs") + (version "0.0.0-20170316035057-ecda9a501e82") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yudai/golcs") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mx6wc5fz05yhvg03vvps93bc5mw4vnng98fhmixd47385qb29pq")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/yudai/golcs")) + (home-page "https://github.com/yudai/golcs") + (synopsis "Calculate @acronym{LCS, longest common sequence} in Golang") + (description + "This package provides functions to calculate @acronym{LCS, longest +common sequence} values from two arbitrary arrays.") + (license license:expat))) + (define-public go-github-com-yuin-gopher-lua (package (name "go-github-com-yuin-gopher-lua") @@ -8029,6 +15802,97 @@ provides Go APIs that allow you to easily embed a scripting language to your Go host programs.") (license license:expat))) +(define-public go-github-com-zclconf-go-cty + (package + (name "go-github-com-zclconf-go-cty") + (version "1.16.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zclconf/go-cty") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rvvs9rplvh9gv90lsvwgw203ysz47qksw1xz3whhdvhn7ns8s8f")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/zclconf/go-cty")) + (native-inputs + (list go-github-com-google-go-cmp)) + (propagated-inputs + (list go-github-com-apparentlymart-go-textseg-v15 + go-github-com-vmihailenco-msgpack-v5 + go-golang-org-x-text)) + (home-page "https://github.com/zclconf/go-cty") + (synopsis "Type system for dynamic values in Go applications") + (description + "@code{cty} (pronounced \"see-tie\") is a dynamic type system for +applications written in Go that need to represent user-supplied values without +losing type information. The primary intended use is for implementing +configuration languages, but other uses may be possible too.") + (license license:expat))) + +(define-public go-github-com-zclconf-go-cty-debug + (package + (name "go-github-com-zclconf-go-cty-debug") + (version "0.0.0-20240509010212-0d6042c53940") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zclconf/go-cty-debug") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0izkqnciir10zamr1ca32bmyir1d5hfyxh84dj2q39bw1sj3fs7j")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/zclconf/go-cty-debug")) + (propagated-inputs + (list go-github-com-google-go-cmp + go-github-com-zclconf-go-cty)) + (home-page "https://github.com/zclconf/go-cty-debug") + (synopsis "Debugging and inspection utilities for cty") + (description + "This package implements a functionality for debugging and inspection +utilities for cty Golang module.") + (license license:expat))) + +(define-public go-go-abhg-dev-komplete + (package + (name "go-go-abhg-dev-komplete") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abhinav/komplete") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "060ns34mcf3a39vqairv52lkxiknrv6ghpyy0prliswfhw0hwy67")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.22 + #:import-path "go.abhg.dev/komplete")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-alecthomas-kong + go-github-com-buildkite-shellwords)) + (home-page "https://go.abhg.dev/komplete") + (synopsis "Shell completion support for Kong CLI parser") + (description + "This package provides a command-line completion engine for the +@url{https://github.com/alecthomas/kong, Kong CLI parser}.") + (license license:bsd-3))) + (define-public go-go-etcd-io-bbolt (package (name "go-go-etcd-io-bbolt") @@ -8063,6 +15927,73 @@ for projects that don't require a full database server such as Postgres or MySQL.") (license license:expat))) +(define-public go-go-mongodb-org-mongo-driver + (package + (name "go-go-mongodb-org-mongo-driver") + (version "1.16.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mongodb/mongo-go-driver") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "160hwrk8y8h3nl9sh5v6pxnlyw1ywbssjgzb72lj0x68akgl8gff")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "vendor"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "go.mongodb.org/mongo-driver" + #:test-flags + #~(list "-skip" + (string-join + ;; Some tests require running database and available network + ;; connection. + (list "TestAggregate" + "TestPollSRVRecords" + "TestPollSRVRecordsServiceName" + "TestPollingSRVRecordsLoadBalanced" + "TestPollingSRVRecordsSpec" + "TestServerHeartbeatOffTimeout" + "TestServerHeartbeatTimeout" + "TestTimeCodec" + "TestTopologyConstructionLogging" + "TestURIOptionsSpec") + "|")) + #:test-subdirs + #~(list "bson/..." "event/..." "internal/..." "tag/..." "x/...") + #:phases + #~(modify-phases %standard-phases + (delete 'build) ; no go files in project's root + (add-after 'unpack 'remove-examples-and-benchmarks + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (for-each delete-file-recursively + (list "benchmark" + "examples" + "cmd/godriver-benchmark")))))))) + (native-inputs + (list go-github-com-aws-aws-lambda-go)) + (propagated-inputs + (list go-github-com-davecgh-go-spew + go-github-com-golang-snappy + go-github-com-google-go-cmp + go-github-com-klauspost-compress + go-github-com-montanaflynn-stats + go-github-com-xdg-go-scram + go-github-com-xdg-go-stringprep + go-github-com-youmark-pkcs8 + go-golang-org-x-crypto + go-golang-org-x-sync)) + (home-page "https://go.mongodb.org/mongo-driver") + (synopsis "MongoDB Go Driver") + (description + "This package provides a driver for @code{Mongo} data base.") + (license license:asl2.0))) + (define-public go-go-senan-xyz-flagconf (package (name "go-go-senan-xyz-flagconf") @@ -8143,7 +16074,7 @@ CPU quota.") (define-public go-go-uber-org-dig (package (name "go-go-uber-org-dig") - (version "1.17.1") + (version "1.18.0") (source (origin (method git-fetch) @@ -8152,7 +16083,7 @@ CPU quota.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "020dak2r0yykk6fkfwad2wbz73pjbbdkdamn0ir7xf2irxsmjakm")))) + (base32 "1hc56szkalhsxfnpw5iphhm1vhlq2za5049vcwi4zlcy64mjx8v9")))) (build-system go-build-system) (arguments (list @@ -8169,7 +16100,7 @@ object dependencies graph during the process startup.") (define-public go-go-uber-org-fx (package (name "go-go-uber-org-fx") - (version "1.21.0") + (version "1.23.0") (source (origin (method git-fetch) @@ -8178,11 +16109,25 @@ object dependencies graph during the process startup.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "16pbqmkij02zw6xa4660k905y0r0rc50vyqhg41i2411r68jrdnn")))) + (base32 "03m26d2k9gwcdjjmwajz1fnihdjvb46l6c5ws07r8l8skcz1jx16")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - go.uber.org/fx/tools + (delete-file-recursively "tools"))))) (build-system go-build-system) (arguments (list - #:import-path "go.uber.org/fx")) + #:import-path "go.uber.org/fx" + #:test-flags + #~(list "-skip" (string-join + ;; Tests require networking set up. + (list "TestNopLoggerOptionString" + "TestRun" + "TestDeepStack") + "|")))) (native-inputs (list go-github-com-stretchr-testify)) (propagated-inputs @@ -8198,10 +16143,40 @@ object dependencies graph during the process startup.") applications out of reusable, composable modules.") (license license:expat))) +(define-public go-go-uber-org-fx-tools + (package + (name "go-go-uber-org-fx-tools") + (version "0.0.0-20241011173146-861011200d8a") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber-go/fx") + (commit (go-version->git-ref version + #:subdir "tools")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1y9zavn5dmb5v2g2krc1apznp1fwc2zb70hlgxw4xcz2ifdwx7wz")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "go.uber.org/fx/tools" + #:unpack-path "go.uber.org/fx")) + (propagated-inputs (list go-golang-org-x-tools)) + (home-page "https://go.uber.org/fx") + (synopsis "Verify FX events") + (description + "This Package implements a Go analysis pass that verifies that an +@code{fxevent.Logger} implementation handles all known fxevent types. As a +special case for no-op or fake fxevent.Loggers, it ignores implementations +that handle none of the event types.") + (license license:expat))) + (define-public go-go-uber-org-multierr (package (name "go-go-uber-org-multierr") - (version "1.6.0") + (version "1.11.0") (source (origin (method git-fetch) @@ -8210,7 +16185,7 @@ applications out of reusable, composable modules.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "162941s8f6a9x2w04qm4qa3zz0zylwag9149hywrj9ibp2nzcsqz")))) + (base32 "1s6skad93nbsq4b0sy5dsgacrdh2kzg0p8wjlhvff49vasqsi3qx")))) (build-system go-build-system) (arguments '(#:import-path "go.uber.org/multierr")) @@ -8227,7 +16202,7 @@ applications out of reusable, composable modules.") (define-public go-go-uber-org-zap (package (name "go-go-uber-org-zap") - (version "1.24.0") + (version "1.27.0") (source (origin (method git-fetch) @@ -8236,32 +16211,40 @@ applications out of reusable, composable modules.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0lzbbs87fvixzbyv4wpl3s70vm2m0jz2jgdvrviiksc2al451qgs")))) + (base32 "1h3ml2wqmdxwqv0xdfqvf7l4wma5yd0hdfsa6189mmbhkhzn8v3m")))) (build-system go-build-system) (arguments (list #:import-path "go.uber.org/zap" + #:test-flags + #~(list "-skip" (string-join + ;; Unexpected stack trace annotation. + (list "TestAddStackSkip" + ;; Expected to find package name and file name in + ;; output. + "TestLoggerAddCaller" + "TestSugarAddCaller") + "|")) #:phases #~(modify-phases %standard-phases - ;; Remove test files requiring to download all dependencies for the - ;; current Go module and reports their module paths and locations on - ;; disk. - (add-after 'unpack 'remove-test-files - (lambda* (#:key import-path #:allow-other-keys) - (delete-file - (string-append "src/" import-path - "/stacktrace_ext_test.go"))))))) + (add-after 'unpack 'remove-examples-and-benchmarks + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (for-each delete-file-recursively + (list "benchmarks" + ;; Remove test files requiring to download all + ;; dependencies for the current Go module and + ;; reports their module paths and locations on + ;; disk. + "stacktrace_ext_test.go" + ;; Not packed yet google.golang.org/grpc. + "zapgrpc/internal/test/grpc_test.go")))))))) (native-inputs (list go-github-com-stretchr-testify - go-go-uber-org-goleak - go-golang-org-x-lint - go-honnef-co-go-tools)) + go-go-uber-org-goleak)) (propagated-inputs - (list go-github-com-benbjohnson-clock - go-github-com-pkg-errors - go-go-uber-org-atomic - go-go-uber-org-multierr - go-gopkg-in-yaml-v2)) + (list go-go-uber-org-multierr + go-gopkg-in-yaml-v3)) (home-page "https://pkg.go.dev/go.uber.org/zap") (synopsis "Logging library for Go") (description @@ -8269,6 +16252,40 @@ applications out of reusable, composable modules.") Go.") (license license:expat))) +(define-public go-google-golang-org-appengine + (package + (name "go-google-golang-org-appengine") + (version "1.6.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/golang/appengine") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17pbiximrd340wdx3pm1jkpsgvss80pax7hif906xglh7mj9zqx2")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - google.golang.org/appengine/v2 + (delete-file-recursively "v2"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "google.golang.org/appengine")) + (propagated-inputs + (list go-github-com-golang-protobuf + go-golang-org-x-text + go-google-golang-org-protobuf)) + (home-page "https://google.golang.org/appengine") + (synopsis "Go App Engine packages") + (description + "Package appengine provides basic functionality for Google App Engine.") + (license license:asl2.0))) + (define-public go-gopkg-in-alecthomas-kingpin-v2 (package (inherit go-github-com-alecthomas-kingpin) @@ -8277,6 +16294,88 @@ Go.") (list #:import-path "gopkg.in/alecthomas/kingpin.v2")))) +(define-public go-gopkg-in-inconshreveable-log15-v1 + (package + (name "go-gopkg-in-inconshreveable-log15-v1") + (version "1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/inconshreveable/log15") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1hz7vnzn4cbiqra443mhmp63ifzq15xsfnyc9jmxh2p1ngwxp2n2")))) + (build-system go-build-system) + (arguments + (list + #:test-flags #~(list "-skip" "TestFailoverHandler") + #:import-path "gopkg.in/inconshreveable/log15.v1")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://pkg.go.dev/github.com/inconshreveable/log15") + (synopsis "Structured, composable logging for Golang") + (description + "This package provides a toolkit for logging that is both human and +machine readable. It is modeled after the Go standard library's @code{io} and +@code{net/http} packages and is an alternative to the standard library's +@code{log} package.") + (license license:asl2.0))) + +(define-public go-gopkg-in-inconshreveable-log15-v2 + (package + (inherit go-gopkg-in-inconshreveable-log15-v1) + (name "go-gopkg-in-inconshreveable-log15-v2") + (version "2.16.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/inconshreveable/log15") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "117ivm1asxw2hlwb3zf72q553ywjk00bsn21bpwi99q784ghr4wd")))) + (arguments + (list + #:import-path "gopkg.in/inconshreveable/log15.v2" + #:test-flags #~(list "-skip" "TestCallerStackHandler") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-import-path + (lambda* (#:key tests? import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (substitute* (find-files "." "\\.go$") + (("github.com/inconshreveable/log15") import-path)))))))) + (propagated-inputs + (list go-github-com-go-stack-stack + go-github-com-mattn-go-colorable + go-golang-org-x-term)))) + +(define-public go-gopkg-in-inconshreveable-log15-v3 + (package + (inherit go-gopkg-in-inconshreveable-log15-v2) + (name "go-gopkg-in-inconshreveable-log15-v3") + (version "3.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/inconshreveable/log15") + (commit (string-append "v" version "-testing.5")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14b03w7mlsac0n5ig5qc0iggii6ig9mvbiv6656r1h19vh4kmx8x")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-gopkg-in-inconshreveable-log15-v2) + ((#:import-path _) "gopkg.in/inconshreveable/log15.v3"))) + (propagated-inputs + (list go-github-com-go-stack-stack + go-github-com-mattn-go-colorable + go-golang-org-x-term)))) + (define-public go-gopkg-in-ini-v1 (package (name "go-gopkg-in-ini-v1") @@ -8337,6 +16436,57 @@ Go.") (package-arguments go-github-com-op-go-logging) ((#:import-path _) "gopkg.in/op/go-logging.v1"))))) +(define-public go-gopkg-in-vmihailenco-msgpack-v2 + (package + (name "go-gopkg-in-vmihailenco-msgpack-v2") + (version "2.9.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vmihailenco/msgpack") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08rcdnshc252nmlxkswx8xgiwr2ry7cq806gcw1836b00hwlwmmz")))) + (build-system go-build-system) + (arguments + (list + #:import-path "gopkg.in/vmihailenco/msgpack.v2" + #:test-flags #~(list "-skip" "TestTypes"))) + (native-inputs + (list go-gopkg-in-check-v1)) + (home-page "https://msgpack.uptrace.dev/") + (synopsis "MessagePack encoding for Golang") + (description + "This package provides implementation of MessagePack encoding for Go +programming language.") + (license license:bsd-2))) + +(define-public go-gopkg-in-warnings-v0 + (package + (name "go-gopkg-in-warnings-v0") + (version "0.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-warnings/warnings") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kzj50jn708cingn7a13c2wdlzs6qv89dr2h4zj8d09647vlnd81")))) + (build-system go-build-system) + (arguments + (list + #:import-path "gopkg.in/warnings.v0")) + (home-page "https://gopkg.in/warnings.v0") + (synopsis "Error handling with non-fatal errors") + (description + "Package warnings implements error handling with non-fatal +errors (warnings).") + (license license:bsd-2))) + (define-public go-gopkg-in-yaml-v2 (package (name "go-gopkg-in-yaml-v2") @@ -8374,10 +16524,113 @@ Go.") values.") (license license:asl2.0))) -(define-public go-k8s-io-klog +(define-public go-gopkg-in-yaml-v3 (package - (name "go-k8s-io-klog") - (version "1.0.0") + (name "go-gopkg-in-yaml-v3") + (version "3.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gopkg.in/yaml.v3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn")) + (patches (search-patches "go-gopkg-in-yaml-v3-32bit.patch")))) + (build-system go-build-system) + (arguments + (list + #:tests? (not (target-ppc32?)) ; Test killed with quit: ran too long (11m0s). + #:import-path "gopkg.in/yaml.v3")) + (native-inputs + (list go-gopkg-in-check-v1)) + (home-page "https://gopkg.in/yaml.v3") + (synopsis "YAML reader and writer for the Go language") + (description + "This package provides a Go library for encode and decode YAML values. +The yaml package supports most of YAML 1.2, but preserves some behavior from +1.1 for backwards compatibility.") + (license license:asl2.0))) + +(define-public go-howett-net-plist + (package + (name "go-howett-net-plist") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DHowett/go-plist") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gcrxkmdj87xq01458asgxvvijrkih74ydbzfmir1p16xr9z0x39")))) + (build-system go-build-system) + (arguments + (list + #:import-path "howett.net/plist" + ;; cmd requires gopkg.in/yaml.v1 + #:test-subdirs #~(list "internal/..." "."))) + (propagated-inputs + (list go-github-com-jessevdk-go-flags + go-gopkg-in-check-v1)) + (home-page "https://github.com/DHowett/go-plist") + (synopsis "Apple property list transcoder") + (description + "This list transcoder supports encoding/decoding property lists (Apple +XML, Apple Binary, OpenStep, and GNUStep) from/to arbitrary Go types.") + (license license:giftware))) + +(define-public go-k8s-io-gengo-v2 + (package + (name "go-k8s-io-gengo-v2") + (version "2.0.0-20240911193312-2b36238f13e9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kubernetes/gengo") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ffwigrg92ivyb5r6g0alb4z8iydp9lkdviz3vm62gr89yw28yc7")))) + (build-system go-build-system) + (arguments + (list + #:import-path "k8s.io/gengo/v2" + #:unpack-path "k8s.io/gengo" + #:test-flags + ;; XXX: Figure out why these tests fail. + #~(list "-skip" (string-join + (list "TestSnippetWriter" + "TestFindPackages" + "TestAlreadyLoaded" + "TestLoadPackagesInternal" + "TestLoadPackagesTo" + "TestUserRequestedPackages" + "TestAddOnePkgToUniverse" + "TestStructParse/generic" + "TestJSON") + "|")))) + (native-inputs + (list go-github-com-google-go-cmp)) + (propagated-inputs + (list go-github-com-spf13-pflag + go-golang-org-x-tools + go-k8s-io-klog-v2)) + (home-page "https://github.com/kubernetes/gengo") + (synopsis "Framework for building simple code generators") + (description + "This package implements a functionality for generating things based on +go files. This mechanism was first used in Kubernetes code-generator and is +split out here for ease of reuse and maintainability.") + (license license:asl2.0))) + +(define-public go-k8s-io-klog-v2 + (package + (name "go-k8s-io-klog-v2") + (version "2.130.1") (source (origin (method git-fetch) @@ -8386,19 +16639,26 @@ values.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1cgannfmldcrcksb2wqdn2b5qabqyxl9r25w9y4qbljw24hhnlvn")))) + (base32 "12q9jhxfpq75sgmdxgcz85znbgdi04ic9zy3rm0c47n24clz6z73")))) (build-system go-build-system) (arguments (list - #:import-path "k8s.io/klog" + #:import-path "k8s.io/klog/v2" + #:test-flags + #~(list "-skip" + (string-join + (list "TestDestinationsWithDifferentFlags/with_log_file_only" + "TestDestinationsWithDifferentFlags/everything_disabled" + "TestDestinationsWithDifferentFlags/with_log_dir_only" + "TestDestinationsWithDifferentFlags/with_log_dir_only_and_one_output" + "TestDestinationsWithDifferentFlags/with_log_file_and_log_dir") + "|")) #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'disable-failing-tests + (add-after 'unpack 'remove-examples (lambda* (#:key tests? import-path #:allow-other-keys) (with-directory-excursion (string-append "src/" import-path) - (substitute* (find-files "." "\\_test.go$") - ;; Disable test requiring write access to creat test files. - (("TestRollover") "OffTestRollover")))))))) + (delete-file-recursively "examples"))))))) (propagated-inputs (list go-github-com-go-logr-logr)) (home-page "https://github.com/kubernetes/klog") @@ -8412,103 +16672,188 @@ also provides V-style logging controlled by the @code{-v} and @code{https://github.com/golang/glog}.") (license license:asl2.0))) -(define-public go-k8s-io-klog-v2 +(define-public go-k8s-io-utils (package - (inherit go-k8s-io-klog) - (name "go-k8s-io-klog-v2") - (version "2.130.1") + (name "go-k8s-io-utils") + (version "0.0.0-20241210054802-24370beab758") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/kubernetes/klog") + (url "https://github.com/kubernetes/utils") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "158rsq780hrzv6zb7lycjg8b2lfd00nvmx3mn4pi9byjam2y7nds")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f ; XXX: all of them fail with various reasons + #:import-path "k8s.io/utils" + #:phases + #~(modify-phases %standard-phases + (delete 'build)))) ; no go files in project's root + (propagated-inputs + (list go-github-com-davecgh-go-spew + go-k8s-io-klog-v2)) + (home-page "https://github.com/kubernetes/utils") + (synopsis "Utility libraries for Golang") + (description + "This package provides a set of libraries that implementing low-level, +kubernetes-independent packages supplementing the +@url{https://pkg.go.dev/std#stdlib,Go standard libs}.") + (license license:asl2.0))) + +(define-public go-modernc-org-fileutil + (package + (name "go-modernc-org-fileutil") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/cznic/fileutil") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "12q9jhxfpq75sgmdxgcz85znbgdi04ic9zy3rm0c47n24clz6z73")))) + (base32 "10q5xbik9yk9jw2ziq1fw0hpjfbv5h3qm7rlxlkwj0qxyyb7b9bi")))) (build-system go-build-system) (arguments (list - #:import-path "k8s.io/klog/v2")))) + #:import-path "modernc.org/fileutil")) + (propagated-inputs + (list go-modernc-org-mathutil)) + (home-page "https://gitlab.com/cznic/fileutil") + (synopsis "File utility functions") + (description "Package fileutil collects some file utility functions.") + (license license:bsd-3))) -(define-public go-go-mongodb-org-mongo-driver +(define-public go-modernc-org-lexer (package - (name "go-go-mongodb-org-mongo-driver") - (version "1.16.1") + (name "go-modernc-org-lexer") + (version "1.0.5") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/mongodb/mongo-go-driver") + (url "https://gitlab.com/cznic/lexer") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "160hwrk8y8h3nl9sh5v6pxnlyw1ywbssjgzb72lj0x68akgl8gff")) - (snippet - #~(begin (use-modules (guix build utils)) - (delete-file-recursively "vendor"))))) + (base32 "00ahagg81vbm8k9an5l8gn8plr7d53955v54mv0g811hfqxacja2")))) (build-system go-build-system) (arguments (list - #:import-path "go.mongodb.org/mongo-driver" - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'remove-examples-and-benchmarks - (lambda* (#:key tests? import-path #:allow-other-keys) - (with-directory-excursion (string-append "src/" import-path) - (for-each delete-file-recursively - (list "benchmark" - "examples" - "cmd/godriver-benchmark"))))) - (add-before 'check 'disable-failing-tests - (lambda* (#:key tests? unpack-path #:allow-other-keys) - (with-directory-excursion (string-append "src/" unpack-path) - (substitute* (find-files "." "\\_test.go$") - ;; Some tests require running database and available network connection. - (("TestAggregate") "OffTestAggregate") - (("TestPollSRVRecords") "OffTestPollSRVRecords") - (("TestPollSRVRecordsServiceName") - "OffTestPollSRVRecordsServiceName") - (("TestPollingSRVRecordsLoadBalanced") - "OffTestPollingSRVRecordsLoadBalanced") - (("TestPollingSRVRecordsSpec") - "OffTestPollingSRVRecordsSpec") - (("TestServerHeartbeatOffTimeout") - "OffTestServerHeartbeatTimeout") - (("TestServerHeartbeatTimeout") - "OffTestServerHeartbeatTimeout") - (("TestTimeCodec") "OffTestTimeCodec") - (("TestTopologyConstructionLogging") - "OffTestTopologyConstructionLogging") - (("TestURIOptionsSpec") "OffTestURIOptionsSpec"))))) - ;; XXX: Workaround for go-build-system's lack of Go modules support. - (delete 'build) - (replace 'check - (lambda* (#:key tests? import-path #:allow-other-keys) - (when tests? - (with-directory-excursion (string-append "src/" import-path) - (for-each - (lambda (package) - (invoke "go" "test" (string-append "./" package "/..."))) - (list "bson" "event" "internal" "tag" "x"))))))))) - (native-inputs - (list go-github-com-aws-aws-lambda-go)) + #:import-path "modernc.org/lexer")) (propagated-inputs - (list go-github-com-davecgh-go-spew - go-github-com-golang-snappy - go-github-com-google-go-cmp - go-github-com-klauspost-compress - go-github-com-montanaflynn-stats - go-github-com-xdg-go-scram - go-github-com-xdg-go-stringprep - go-github-com-youmark-pkcs8 - go-golang-org-x-crypto - go-golang-org-x-sync)) - (home-page "https://go.mongodb.org/mongo-driver") - (synopsis "MongoDB Go Driver") + (list go-golang-org-x-exp + go-modernc-org-fileutil)) + (home-page "https://gitlab.com/cznic/lexer") + (synopsis "Run time generator of action less scanners") (description - "This package provides a driver for @code{Mongo} data base.") - (license license:asl2.0))) + "Package lexer provides generating actionless scanners (lexeme +recognizers) at run time.") + (license license:bsd-3))) + +(define-public go-modernc-org-memory + (package + (name "go-modernc-org-memory") + (version "1.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/cznic/memory") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "066pzk0i1jxahialzp97ra0k0f191y1756sgppiw50zkpnpwzjxr")))) + (build-system go-build-system) + (arguments + (list + #:import-path "modernc.org/memory")) + (propagated-inputs + (list go-modernc-org-mathutil)) + (home-page "https://gitlab.com/cznic/memory") + (synopsis "Memory allocator implementation") + (description "Package memory implements a memory allocator.") + (license license:bsd-3))) + +(define-public go-modernc-org-opt + (package + (name "go-modernc-org-opt") + (version "0.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/cznic/opt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02jih8lgcyrm2v0vagdmq298rvhqkwi4pswg4nwlksdiayw356p5")))) + (build-system go-build-system) + (arguments + (list + #:import-path "modernc.org/opt")) + (home-page "https://gitlab.com/cznic/opt") + (synopsis "Command-line flag parsing") + (description "Package opt implements command-line flag parsing.") + (license license:bsd-3))) + +(define-public go-modernc-org-sortutil + (package + (name "go-modernc-org-sortutil") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/cznic/sortutil") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01s9vil8lvaz526x6q9f12h6vpc3jc8zvpag7knz1bdx9b15yljc")))) + (build-system go-build-system) + (arguments + (list + #:import-path "modernc.org/sortutil")) + (native-inputs + (list go-modernc-org-mathutil)) + (home-page "https://gitlab.com/cznic/sortutil") + (synopsis "Sort utility library") + (description + "Package sortutil provides utilities supplementing the standard +@code{sort} package.") + (license license:bsd-3))) + +(define-public go-modernc-org-strutil + (package + (name "go-modernc-org-strutil") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/cznic/strutil") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rk76c1n189hzg3kfab8pfvssa1h9v0vxk5jxy8pk32rqic0hdim")))) + (build-system go-build-system) + (arguments + (list + #:import-path "modernc.org/strutil" + ;; Cannot determine import path using GOPATH. + #:test-flags #~(list "-skip" "TestImportPath"))) + (native-inputs + (list go-modernc-org-mathutil)) + (home-page "https://gitlab.com/cznic/strutil") + (synopsis "Strings utility library for Golang") + (description + "Package strutil collects utils supplemental to the standard +@code{strings} package.") + (license license:bsd-3))) (define-public go-mvdan-cc-editorconfig (package @@ -8536,6 +16881,141 @@ also provides V-style logging controlled by the @code{-v} and defined in @url{https://editorconfig.org/,https://editorconfig.org/}.") (license license:bsd-3))) +(define-public go-mvdan-cc-gofumpt + (package + (name "go-mvdan-cc-gofumpt") + (version "0.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mvdan/gofumpt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sz58av4jg0q26y1s4pznnvrzp1gi8brz9zw8aa46pzdmjw394wq")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.22 + #:build-flags + ;; Gofumpt formats Go files, and therefore modifies them. To help the + ;; developers diagnose issues, it replaces any occurrence of a + ;; `//gofumpt:diagnose` comment with some debugging information which + ;; includes the module version. + #~(list (format #f "-ldflags=-X ~s" + (string-append "main.version=" #$version " (GNU Guix)"))) + #:import-path "mvdan.cc/gofumpt" + #:skip-build? #t + #:test-flags #~(list "-skip" "TestScript/diagnose") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-fallback-version + ;; In the event gofumpt was built without module support, it falls + ;; back to a string "(devel)". Since our build system does not yet + ;; support modules, we'll inject our version string instead, since + ;; this is more helpful. + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (substitute* "internal/version/version.go" + (("^const fallbackVersion.+") + (format #f "const fallbackVersion = ~s~%" + (string-append #$version " (GNU Guix)")))))))))) + (native-inputs + (list go-github-com-go-quicktest-qt)) + (propagated-inputs + (list go-github-com-google-go-cmp + go-github-com-rogpeppe-go-internal + go-golang-org-x-mod + go-golang-org-x-sync + go-golang-org-x-sys + go-golang-org-x-tools)) + (home-page "https://mvdan.cc/gofumpt/") + (synopsis "Formats Go files with a stricter ruleset than gofmt") + (description + "Enforce a stricter format than @code{gofmt}, while being backwards +compatible. That is, @code{gofumpt} is happy with a subset of the formats +that @code{gofmt} is happy with.") + (license license:bsd-3))) + +(define-public go-mvdan-cc-sh-v3 + (package + (name "go-mvdan-cc-sh-v3") + (version "3.10.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mvdan/sh") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ryqrhdjvj0ll88fk6dh63a5hjl0rpww3x8kmzqfnf5r83jdz3sh")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.22 + #:skip-build? #t ; we need just lib here + #:import-path "mvdan.cc/sh/v3" + #:test-flags + #~(list "-skip" (string-join + ;; XXX: Check why these tests fail. + (list "TestRunnerRun/#279" + "TestRunnerRun/#281" + "TestRunnerRun/#282" + "TestRunnerRun/#289" + "TestRunnerRun/#960" + "TestRunnerRun/#989" + "TestRunnerRun/#990" + "TestRunnerRun/#991" + "TestScript/flags") + "|")))) + (native-inputs + (list go-github-com-go-quicktest-qt + go-github-com-google-go-cmp)) + (propagated-inputs + (list go-github-com-creack-pty + go-github-com-google-renameio-v2 + go-github-com-muesli-cancelreader + go-github-com-rogpeppe-go-internal + go-golang-org-x-sync + go-golang-org-x-sys + go-golang-org-x-term + go-mvdan-cc-editorconfig)) + (home-page "https://mvdan.cc/sh") + (synopsis "Shell formatter with bash support") + (description + "This package provides a Golang library implementing a shell parser, +formatter, and interpreter with bash support.") + (license license:bsd-3))) + +(define-public go-nullprogram-com-x-optparse + (package + (name "go-nullprogram-com-x-optparse") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/optparse-go") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1yzpzlhmxdm8gd8ikh9c91qmshjp1jg49l0qsslmm432wk19zym9")))) + (build-system go-build-system) + (arguments + (list + #:import-path "nullprogram.com/x/optparse")) + (home-page "https://nullprogram.com/x/optparse/") + (synopsis "Traditional long option parser for Go") + (description + "Package optparse parses command line arguments very similarly to GNU +@code{getopt_long()}. It supports long options and optional arguments, but +does not permute arguments. It is intended as a replacement for Go's flag +package.") + ;; License type does latterly says it' "UNLICENSE". + (license license:unlicense))) + (define-public go-rsc-io-binaryregexp (package (name "go-rsc-io-binaryregexp") @@ -8562,6 +17042,96 @@ and other languages. More precisely, it is the syntax accepted by RE2 and described at https://golang.org/s/re2syntax, except for @code{\\C.}") (license license:bsd-3))) +(define-public go-sigs-k8s-io-json + (package + (name "go-sigs-k8s-io-json") + (version "0.0.0-20241014173422-cfa47c3a1cc8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kubernetes-sigs/json") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zdb3sq333ns8m5azv4fqqy62r0vrhssxl0przicm4v1nmrxj4jh")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.23 + #:import-path "sigs.k8s.io/json")) + (home-page "https://github.com/kubernetes-sigs/json") + (synopsis "JSON decoder with enchansed features") + (description + "This package provides case-sensitive, integer-preserving JSON +unmarshaling functions based on @code{encoding/json} @code{Unmarshal()}.") + (license license:asl2.0))) + +(define-public go-sigs-k8s-io-structured-merge-diff-v4 + (package + (name "go-sigs-k8s-io-structured-merge-diff-v4") + (version "4.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kubernetes-sigs/structured-merge-diff") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xgi3r2xvwvxy6jc6rd5rrnib4y9b4kgpqphm4lkhgaayy3njwv3")))) + (build-system go-build-system) + (arguments + (list + #:import-path "sigs.k8s.io/structured-merge-diff/v4" + #:phases + #~(modify-phases %standard-phases + (delete 'build)))) ; no go files in project's root + (propagated-inputs + (list go-github-com-google-go-cmp + go-github-com-google-gofuzz + go-github-com-json-iterator-go + go-sigs-k8s-io-yaml)) + (home-page "https://github.com/kubernetes-sigs/structured-merge-diff") + (synopsis "Structured Merge and Diff") + (description + "This package provides a code which implements the Kubernetes \"apply\" +operation.") + (license license:asl2.0))) + +(define-public go-sigs-k8s-io-yaml + (package + (name "go-sigs-k8s-io-yaml") + (version "1.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kubernetes-sigs/yaml") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yjnmpwmvlb6md3djn6qx1ag4ld7gjz7jfyz1ldml88zyb9crpqx")))) + (build-system go-build-system) + (arguments + (list + #:import-path "sigs.k8s.io/yaml")) + (native-inputs + (list go-github-com-google-go-cmp + go-gopkg-in-check-v1)) + (home-page "https://sigs.k8s.io/yaml") + (synopsis "YAML marshaling and unmarshaling support for Go") + (description + "This package provides a Go library that first converts YAML to JSON +using @code{go-yaml} and then uses @code{json.Marshal} and +@code{json.Unmarshal} to convert to or from the struct. This means that it +effectively reuses the JSON struct tags as well as the custom JSON methods +@code{MarshalJSON} and @code{UnmarshalJSON} unlike @code{go-yaml}. + +kubernetes-sigs/yaml is a permanent fork of +@url{https://github.com/ghodss/yaml,ghodss/yaml}.") + (license (list license:expat license:bsd-3)))) + (define-public go-suah-dev-protect (package (name "go-suah-dev-protect") @@ -8710,7 +17280,7 @@ helpful utility functions, and makes testing fairly easy.") (define-public go-zgo-at-zstd (package (name "go-zgo-at-zstd") - (version "0.0.0-20240922235538-9a93b98b4725") + (version "0.0.0-20241125224656-49fafbb06ca9") (source (origin (method git-fetch) @@ -8719,21 +17289,12 @@ helpful utility functions, and makes testing fairly easy.") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 - (base32 "06nqiv1pkqnnqa3v6rlf0qfxgfd63vi4vv36acq54dxswxhcasaz")))) + (base32 "1hwvv685vv003j4ry6b791fmz5fz0ff57pq64s9s57zqxaxn8jrv")))) (build-system go-build-system) (arguments (list #:import-path "zgo.at/zstd" - #:phases - #~(modify-phases %standard-phases - ;; XXX: Replace when go-build-system supports nested path. - (replace 'check - (lambda* (#:key import-path tests? #:allow-other-keys) - (when tests? - (with-directory-excursion (string-append "src/" import-path) - (invoke "go" "test" "-v" - "-skip" "TestExists" - "./...")))))))) + #:test-flags #~(list "-skip" "TestExists/4|TestDiffMatch/3"))) (home-page "https://github.com/arp242/zstd") (synopsis "Extensions to Go's standard library") (description @@ -8756,6 +17317,17 @@ library.") #:import-path "github.com/yuin/gopher-lua/cmd/glua" #:unpack-path "github.com/yuin/gopher-lua")))) +(define-public go-asmfmt + (package + (inherit go-github-com-klauspost-asmfmt) + (name "go-asmfmp") + (arguments + (list + #:tests? #f + #:install-source? #f + #:import-path "github.com/klauspost/asmfmt/cmd/asmfmt" + #:unpack-path "github.com/klauspost/asmfmt")))) + (define-public go-chroma (package (inherit go-github-com-alecthomas-chroma-v2) @@ -8775,6 +17347,32 @@ library.") " This package provides an command line interface (CLI) tool.")))) +(define-public go-csv2table + (package/inherit go-github-com-olekukonko-tablewriter + (name "go-csv2table") + (arguments + (list #:install-source? #f + #:import-path "github.com/olekukonko/tablewriter/csv2table" + #:unpack-path "github.com/olekukonko/tablewriter")) + (description + (string-append (package-description go-github-com-olekukonko-tablewriter) + "\nThis package provides a command line interface (CLI) tool.")))) + +(define-public go-fxlint + (package + (inherit go-go-uber-org-fx-tools) + (name "go-fxlint") + (arguments + (list + #:tests? #f + #:install-source? #f + #:import-path "go.uber.org/fx/tools/cmd/fxlint" + #:unpack-path "go.uber.org/fx")) + (description + (string-append (package-description go-go-uber-org-fx-tools) + " This package provides a command line interface (CLI) +linter that verifies correct usage of Fx.")))) + (define-public go-hclogvet (package (inherit go-github-com-hashicorp-go-hclog) @@ -8784,8 +17382,6 @@ tool.")))) #:import-path "github.com/hashicorp/go-hclog/hclogvet" #:unpack-path "github.com/hashicorp/go-hclog" #:install-source? #f)) - (propagated-inputs - (list go-golang-org-x-tools)) (description "@code{hclogvet} is a @code{go vet} tool for checking that the Trace/Debug/Info/Warn/Error methods on @code{hclog.Logger} are used @@ -8801,6 +17397,50 @@ correctly."))) (string-append (package-description go-zgo-at-jfmt) " This package provides a command line interface (CLI) tool.")))) +(define-public go-jsonnet + (package + (name "go-jsonnet") + (version "0.20.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/go-jsonnet") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qfr6yvhj33rhx1icxh99bbpngh5kwq1x7r39315y53bw216vbrz")))) + (build-system go-build-system) + (arguments + (list + #:install-source? #f + #:import-path "github.com/google/go-jsonnet/cmd/jsonnet" + #:unpack-path "github.com/google/go-jsonnet")) + (native-inputs + (list go-github-com-fatih-color + go-github-com-sergi-go-diff + go-gopkg-in-yaml-v2 + go-sigs-k8s-io-yaml)) + (home-page "https://github.com/google/go-jsonnet") + (synopsis "Go implementation of Jsonnet") + (description + "This package provides an implementation of the @url{http://jsonnet.org/, +Jsonnet} data templating language in Go. It is a +feature-complete,production-ready implementation, compatible with the original +Jsonnet C++implementation.") + (license license:asl2.0))) + +(define-public go-ifacemaker + (package/inherit go-github-com-vburenin-ifacemaker + (name "go-ifacemaker") + (arguments + (list #:install-source? #f + #:tests? #f + #:import-path "github.com/vburenin/ifacemaker")) + (description + (string-append (package-description go-github-com-vburenin-ifacemaker) + " This package provides a command line interface (CLI) tool.")))) + (define-public go-msgio (package (inherit go-github-com-libp2p-go-msgio) @@ -8854,6 +17494,46 @@ go-github-com-tklauser-numcpus source."))) "This package provides a CLI build from the go-github-com-orisano-pixelmatch source."))) +(define-public go-porter2 + (package + (inherit go-github-com-surgebase-porter2) + (name "go-porter2") + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-surgebase-porter2) + ((#:tests? _ #t) #f) + ((#:install-source? _ #t) #f) + ((#:unpack-path _) "github.com/surgebase/porter2") + ((#:phases phases '%standard-phases) + #~(modify-phases #$phases + (replace 'build + (lambda arguments + (for-each + (lambda (cmd) + (apply (assoc-ref %standard-phases 'build) + `(,@arguments #:import-path ,cmd))) + (list "github.com/surgebase/porter2/cmd/compare" + "github.com/surgebase/porter2/cmd/suffixfsm" + "github.com/surgebase/porter2/cmd/switchvsmap")))) + (replace 'install + (lambda arguments + (for-each + (lambda (cmd) + (apply (assoc-ref %standard-phases 'install) + `(,@arguments #:import-path ,cmd))) + (list "github.com/surgebase/porter2/cmd/compare" + "github.com/surgebase/porter2/cmd/suffixfsm" + "github.com/surgebase/porter2/cmd/switchvsmap")))))))) + (description + (string-append (package-description go-github-com-mattn-go-sixel) + " This package provides an command line interface (CLI) +tools: +@itemize +@item @code{compare} +@item @code{suffixfsm} is a finite state machine generator for the porter2 +@item @code{switchvsmap} +@end itemize")))) + (define-public go-sentences (package (inherit go-github-com-neurosnap-sentences) @@ -8868,6 +17548,44 @@ go-github-com-orisano-pixelmatch source."))) " This package provides an command line interface (CLI) tool.")))) +(define-public go-sixel + (package + (inherit go-github-com-mattn-go-sixel) + (name "go-sixel") + (arguments + (list + #:tests? #f ; tested in the library + #:install-source? #f + #:unpack-path "github.com/mattn/go-sixel" + #:phases + #~(modify-phases %standard-phases + (replace 'build + (lambda arguments + (for-each + (lambda (cmd) + (apply (assoc-ref %standard-phases 'build) + `(,@arguments #:import-path ,cmd))) + (list "github.com/mattn/go-sixel/cmd/goscat" + "github.com/mattn/go-sixel/cmd/gosd" + "github.com/mattn/go-sixel/cmd/gosgif" + "github.com/mattn/go-sixel/cmd/gosl" + "github.com/mattn/go-sixel/cmd/gosr")))) + (replace 'install + (lambda arguments + (for-each + (lambda (cmd) + (apply (assoc-ref %standard-phases 'install) + `(,@arguments #:import-path ,cmd))) + (list "github.com/mattn/go-sixel/cmd/goscat" + "github.com/mattn/go-sixel/cmd/gosd" + "github.com/mattn/go-sixel/cmd/gosgif" + "github.com/mattn/go-sixel/cmd/gosl" + "github.com/mattn/go-sixel/cmd/gosr"))))))) + (description + (string-append (package-description go-github-com-mattn-go-sixel) + " This package provides an command line interface (CLI) +tools.")))) + (define-public go-tengo (package (inherit go-github-com-d5-tengo-v2) @@ -8882,6 +17600,38 @@ tool.")))) "\nThis package provides an command line interface (CLI) tool.")))) +(define-public go-toml + (package + (inherit go-github-com-pelletier-go-toml-v2) + (name "go-toml") + (arguments + (list + #:tests? #f ; tested in the library + #:install-source? #f + #:unpack-path "github.com/pelletier/go-toml" + #:phases + #~(modify-phases %standard-phases + (replace 'build + (lambda arguments + (for-each + (lambda (cmd) + (apply (assoc-ref %standard-phases 'build) + `(,@arguments #:import-path ,cmd))) + (list "github.com/pelletier/go-toml/cmd/tomljson" + "github.com/pelletier/go-toml/cmd/tomll")))) + (replace 'install + (lambda arguments + (for-each + (lambda (cmd) + (apply (assoc-ref %standard-phases 'install) + `(,@arguments #:import-path ,cmd))) + (list "github.com/pelletier/go-toml/cmd/tomljson" + "github.com/pelletier/go-toml/cmd/tomll"))))))) + (description + (string-append (package-description go-github-com-pelletier-go-toml-v2) + "\nThis package provides command line interface (CLI) +tools.")))) + (define-public go-tomlv (package (inherit go-github-com-burntsushi-toml) @@ -8907,12 +17657,92 @@ tool.")))) #:import-path "github.com/oklog/ulid/v2/cmd/ulid" #:unpack-path "github.com/oklog/ulid/v2")) (native-inputs - (list go-github-com-pborman-getopt)) + (list go-github-com-pborman-getopt-v2)) (description (string-append (package-description go-github-com-oklog-ulid) " This package provides an command line interface (CLI) tool.")))) +(define-public gofumpt + (package + (inherit go-mvdan-cc-gofumpt) + (name "gofumpt") + (arguments + (substitute-keyword-arguments + (package-arguments go-mvdan-cc-gofumpt) + ((#:tests? _ #t) #f) + ((#:install-source? _ #t) #f) + ((#:skip-build? _ #t) #f))) + (native-inputs (package-propagated-inputs go-mvdan-cc-gofumpt)) + (propagated-inputs '()) + (inputs '()))) + +(define-public gopls + (package + (name "gopls") + ;; XXX: Starting from 0.14.0 gppls needs golang.org/x/telemetry, which + ;; needs to be discussed if it may be included in Guix. + (version "0.17.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/tools") + (commit (go-version->git-ref version #:subdir "gopls")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qksn79nc94fig5bia0l8h7fzm1zbn9rvya25hwf0f18v8a0id9l")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.23 + #:install-source? #f + #:import-path "golang.org/x/tools/gopls" + #:unpack-path "golang.org/x/tools" + ;; XXX: No tests in project's root, limit to some of subdris, try to + ;; enable more. + #:test-subdirs + #~(list "internal/protocol/..." + "internal/util/..." + "internal/vulncheck/...") + #:phases + #~(modify-phases %standard-phases + (add-before 'unpack 'override-tools + (lambda _ + ;; XXX: Write a procedure deleting all but current module source + ;; to cover case with monorepo. + (delete-file-recursively "src/golang.org/x/tools")))))) + (native-inputs + (list go-github-com-google-go-cmp + go-github-com-jba-templatecheck + go-golang-org-x-mod + go-golang-org-x-sync + go-golang-org-x-telemetry + go-golang-org-x-text + go-golang-org-x-vuln + go-gopkg-in-yaml-v3 + go-honnef-co-go-tools + go-mvdan-cc-gofumpt + go-mvdan-cc-xurls-v2)) + (home-page "https://golang.org/x/tools/gopls") + (synopsis "Official language server for the Go language") + (description + "Pronounced ``Go please'', this is the official Go language server +developed by the Go team. It provides IDE features to any LSP-compatible +editor.") + (license license:bsd-3))) + +(define-public misspell + (package + (inherit go-github-com-client9-misspell) + (name "misspell") + (arguments + (list + #:install-source? #t + #:tests? #f + #:import-path "github.com/client9/misspell/cmd/misspell" + #:unpack-path "github.com/client9/misspell")))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar |