diff options
Diffstat (limited to 'gnu/packages/golang-xyz.scm')
-rw-r--r-- | gnu/packages/golang-xyz.scm | 3681 |
1 files changed, 3136 insertions, 545 deletions
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 42aa985ac2..8f99b38017 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -21,7 +21,7 @@ ;;; 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, 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021, 2025 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> @@ -66,6 +66,9 @@ ;;; Copyright © 2025 David Thompson <davet@gnu.org> ;;; Copyright © 2025 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz> +;;; Copyright © 2025 Arthur Rodrigues <arthurhdrodrigues@proton.me> +;;; Copyright © 2025 Tomás Ortín Fernández <quanrong@mailbox.org> +;;; Copyright © 2025 Allan Adair <allan@adair.no> ;;; ;;; This file is part of GNU Guix. ;;; @@ -115,7 +118,13 @@ ;;; ;;; Nomad Golang modules (libraries) are welcome here. ;;; -;;; Please: Try to add new module packages in alphabetic order. +;;; There are two sections her: Libraries - for any source only Golang +;;; libraries which are meant to be imported by other packages; Executables - +;;; should contain inherited packages where commands need to be built. +;;; +;;; Please: Try to add new module packages in alphabetic order and avoid stand +;;; alone final executables which are not inherited from sources presented in +;;; this module. ;;; ;;; Code: @@ -144,6 +153,7 @@ (build-system go-build-system) (arguments (list + #:go go-1.23 #:skip-build? #t #:import-path "9fans.net/go" #:test-subdirs #~(list "acme/..." @@ -172,6 +182,79 @@ interacting with Acme windows of the Plan 9 text editor.") (license license:expat))) +(define-public go-ariga-io-atlas + (package + (name "go-ariga-io-atlas") + (version "0.36.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ariga/atlas") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1x3rchcm3c0ixpgx8wvz71a9mbb4flqcsjrkqhj4aa24wik5p5h2")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - ariga.io/atlas/cmd/atlas + ;; - ariga.io/atlas/internal/integration + (delete-file-recursively "cmd") + (delete-file-recursively "internal/integration"))))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "ariga.io/atlas" + #:test-flags + #~(list "-skip" (string-join + ;; Tests requiring atlas-cli in PATH. + (list "TestAtlasMigrate_Apply" + "TestAtlasMigrate_ApplyBroken" + "TestAtlasMigrate_ApplyWithRemote" + "TestAtlasMigrate_Lint" + "TestAtlasMigrate_LintWithLogin" + "TestAtlasMigrate_Push" + "TestAtlasSchema_Apply" + "TestAtlasSchema_Lint" + "TestDriver_LockAcquired" + "TestMaintainOriginalWorkingDir" + "TestMigrateHash" + "TestMigrateRebase" + "TestMigrate_Diff" + "TestMigrate_Status" + "TestNewClient" + "TestValidate") + "|")) + #:phases + #~(modify-phases %standard-phases + ;; Received unexpected error: open + ;; /homeless-shelter/.cache/lock.lock: no such file or directory + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp")))))) + (native-inputs + (list go-github-com-data-dog-go-sqlmock + go-github-com-mattn-go-sqlite3 + go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-bmatcuk-doublestar + go-github-com-go-openapi-inflect + go-github-com-hashicorp-hcl-v2 + go-github-com-zclconf-go-cty + go-github-com-zclconf-go-cty-yaml + go-golang-org-x-mod + go-gopkg-in-yaml-v3)) + (home-page "https://ariga.io/atlas") + (synopsis "Database schema as code") + (description + "Atlas is a language-agnostic tool for managing and migrating database +schemas using @code{DevOps} principles.") + (license license:asl2.0))) + (define-public go-atomicgo-dev-cursor (package (name "go-atomicgo-dev-cursor") @@ -431,7 +514,7 @@ file along with an index.html file.") (define-public go-dario-cat-mergo (package (name "go-dario-cat-mergo") - (version "1.0.1") + (version "1.0.2") (source (origin (method git-fetch) @@ -440,10 +523,11 @@ file along with an index.html file.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0v12vc9bmqq89k4y60a8ykmv85hpa7nh73sn9b7ars143pxvmhf1")))) + (base32 "1q61904rd858ac19vsmmhz69b1hvn0y9rjfb9d2gc4abg64dva57")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "dario.cat/mergo")) (native-inputs (list go-gopkg-in-yaml-v3)) @@ -561,7 +645,9 @@ commands.") (base32 "1z64yzr2l5j5r5rqi89jk4madn3ak8hw95lva5ra7gnlyhh2vs05")))) (build-system go-build-system) (arguments - (list #:import-path "git.sr.ht/~rockorager/tcell-term")) + (list + #:go go-1.23 + #:import-path "git.sr.ht/~rockorager/tcell-term")) (native-inputs (list go-github-com-stretchr-testify)) (propagated-inputs @@ -578,7 +664,7 @@ Go library.") (define-public go-git-sr-ht-rockorager-vaxis (package (name "go-git-sr-ht-rockorager-vaxis") - (version "0.13.0") + (version "0.14.0") (source (origin (method git-fetch) @@ -587,10 +673,11 @@ Go library.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0lv2ry55a19vym5km6d1rpyhafx2kh0ikcnishkjhyg93i884k52")))) + (base32 "09n2vafkb4mfxq4fiwf7ir3557q0h91n0s7imhh0789fj19g9j30")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "git.sr.ht/~rockorager/vaxis")) (native-inputs (list go-github-com-stretchr-testify)) @@ -665,10 +752,36 @@ Application Record Encoding} https://baremessages.org/ message format for Golang.") (license license:asl2.0))) +(define-public go-github-com-a-h-parse + (package + (name "go-github-com-a-h-parse") + (version "0.0.0-20250122154542-74294addb73e") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/a-h/parse") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1warii2f9mrp5m2da9pn4chzd4y3fjlc3547va8xljfh09bvray4")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/a-h/parse")) + (native-inputs + (list go-github-com-google-go-cmp)) + (home-page "https://github.com/a-h/parse") + (synopsis "Parsing tools for Golang") + (description + "This package provides a set of parsing tools for Go inspired by +@url{https://github.com/sprache/Sprache/, Sprache}.") + (license license:expat))) + (define-public go-github-com-a8m-envsubst (package (name "go-github-com-a8m-envsubst") - (version "1.4.2") + (version "1.4.3") (source (origin (method git-fetch) @@ -677,10 +790,12 @@ Golang.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mjs729g9nmalx25l4nn3p07amm4vsciqmdf0jbh2jwpy1zymz41")))) + (base32 "0pkvza3dr3bs2r8y8gfbckijcpl4w3llxd7zy8hw45zznynb273q")))) (build-system go-build-system) (arguments - (list #:import-path "github.com/a8m/envsubst")) + (list + #:go go-1.23 + #:import-path "github.com/a8m/envsubst")) (home-page "https://github.com/a8m/envsubst") (synopsis "Environment variables substitution for Go") (description @@ -713,6 +828,46 @@ scripts (writing systems). Languages are represented by a defined list of constants, while scripts are represented by RangeTable.") (license license:expat))) +(define-public go-github-com-aclements-go-perfevent + (package + (name "go-github-com-aclements-go-perfevent") + (version "0.0.0-20240703205258-f34bb3e1a4e4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aclements/go-perfevent") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xlm7zi7k2ynla8z18n4zbz76n5f3iw5wz8axnn95jhdgzw07xr5")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/aclements/go-perfevent" + #:test-flags + ;; Disable tests requiring root access and failing with error: + ;; permission denied (consider: echo 0 | sudo tee + ;; /proc/sys/kernel/perf_event_paranoid) + #~(list "-skip" (string-join + (list "TestBasic" + "TestOpenGroup" + "TestOpenOne" + "TestResetRunning" + "TestResetStopped" + "TestStop" + "TestTotal") + "|")))) + (propagated-inputs + (list go-golang-org-x-sys)) + (home-page "https://github.com/aclements/go-perfevent") + (synopsis "Golang API for Linux's @code{perf_event_open}") + (description + "This package provides a simple Go API to Linux's @code{perf_event_open}, +supporting event counters and a basic set of events.") + (license license:bsd-3))) + (define-public go-github-com-adhocore-gronx (package (name "go-github-com-adhocore-gronx") @@ -739,6 +894,33 @@ runner and daemon that supports crontab like task list file. It may be used programatically in Golang or as standalone binary instead of crond.") (license license:expat))) +(define-public go-github-com-adrg-frontmatter + (package + (name "go-github-com-adrg-frontmatter") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/adrg/frontmatter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0slacbb6m6g9xg85qw3b170mimjahn9pryacm4iqk459s1qib6sq")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/adrg/frontmatter")) + (propagated-inputs + (list go-github-com-burntsushi-toml + go-gopkg-in-yaml-v2)) + (home-page "https://github.com/adrg/frontmatter") + (synopsis "Detecting and decoding various content front matter formats") + (description + "This package implements fuctionality of detecting and decoding various +content front matter formats e.g. @code{JSON}, @code{TOML} and @code{YAML}.") + (license license:expat))) + (define-public go-github-com-adrg-strutil (package (name "go-github-com-adrg-strutil") @@ -881,6 +1063,32 @@ Distance}.") http://tartarus.org/~martin/PorterStemmer/index.html.") (license license:expat))) +(define-public go-github-com-akamensky-argparse + (package + (name "go-github-com-akamensky-argparse") + (version "1.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/akamensky/argparse") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1m7rzrfwyrwxbbry5ppds2b3c5gdslpakvjhsh6i8mhdfhywd8wc")))) + (build-system go-build-system) + (arguments + (list + ;; Panic: unexpected call to os.Exit(0) during test. + #:test-flags #~(list "-skip" "TestUsageString") + #:import-path "github.com/akamensky/argparse")) + (home-page "https://github.com/akamensky/argparse") + (synopsis "Argparse for golang") + (description + "This package implements a flexible and configurable option for command +line arguments parsing.") + (license license:expat))) + (define-public go-github-com-alecaivazis-survey-v2 (package (name "go-github-com-alecaivazis-survey-v2") @@ -935,7 +1143,9 @@ prompts on terminals supporting ANSI escape sequences.") (build-system go-build-system) ;; TODO: Build cmd/chroma and cmd/chromad commands. (arguments - `(#:import-path "github.com/alecthomas/chroma")) + (list + #:go go-1.23 + #:import-path "github.com/alecthomas/chroma")) (native-inputs (list go-github-com-alecthomas-kong go-github-com-alecthomas-kong-hcl @@ -957,7 +1167,7 @@ syntax highlighted HTML, ANSI-coloured text, etc.") (package (inherit go-github-com-alecthomas-chroma) (name "go-github-com-alecthomas-chroma-v2") - (version "2.14.0") + (version "2.20.0") (source (origin (method git-fetch) @@ -966,30 +1176,23 @@ syntax highlighted HTML, ANSI-coloured text, etc.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1qgr4gywjks869sc85wb8nby612b8wvsa1dwpsbanjsljq7wq7mp")))) + (base32 "05w4hnfcxqdlsz7mkc0m3jbp1aj67wzyhq5jh8ldfgnyjnlafia3")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/alecthomas/chroma/v2/cmd/chroma + ;; - github.com/alecthomas/chroma/v2/cmd/chromad + (delete-file-recursively "cmd"))))) (arguments (list - #:import-path "github.com/alecthomas/chroma/v2" - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'remove-failing-testdata-and-cmd-files - (lambda* (#:key import-path #:allow-other-keys) - (with-directory-excursion (string-append "src/" import-path) - (for-each delete-file-recursively - (list "lexers/testdata/python2/test_complex_file1.actual" - ;; Executable is packed as separate package. - "cmd"))))) - ;; 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-dlclark-regexp2)) + #:import-path "github.com/alecthomas/chroma/v2")) (native-inputs (list go-github-com-alecthomas-assert-v2 - go-github-com-alecthomas-repr)))) + go-github-com-alecthomas-repr)) + (propagated-inputs + (list go-github-com-dlclark-regexp2)))) (define-public go-github-com-alecthomas-colour (package @@ -1050,7 +1253,7 @@ be stripped.") (define-public go-github-com-alecthomas-kong (package (name "go-github-com-alecthomas-kong") - (version "1.5.1") + (version "1.12.1") (source (origin (method git-fetch) @@ -1059,12 +1262,10 @@ be stripped.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1b9yns6rgmxjb40rlm6v2pybi25my0760vvp6666vx5da7yg4dg9")))) + (base32 "0rx1vab7azz9f8xm044dlvx24dqggh25fjq1sxx4mizgvr28yjgq")))) (build-system go-build-system) (arguments (list - ;; One test failed when set to go-1.18 o lower, see - ;; <https://github.com/alecthomas/kong/issues/437> #:import-path "github.com/alecthomas/kong")) (native-inputs (list go-github-com-alecthomas-assert-v2)) @@ -1118,7 +1319,7 @@ Golang structs.") (define-public go-github-com-alecthomas-participle-v2 (package (name "go-github-com-alecthomas-participle-v2") - (version "2.1.1") + (version "2.1.4") (source (origin (method git-fetch) @@ -1127,7 +1328,7 @@ Golang structs.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0k2vsd58rgwyylyn5zja6z6k1sg4m39g2fhd88lvja60ca51bh98")))) + (base32 "0hfgrdzj0p2knqmnspkpjb1y4bbhbxbykckpvsp3mc1n9hr6gz01")))) (build-system go-build-system) (arguments (list @@ -1354,6 +1555,7 @@ environment and runtime configuration.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/AndreasBriese/bbloom")) (home-page "https://github.com/AndreasBriese/bbloom") (synopsis "Bitset Bloom filter for Golang") @@ -1434,6 +1636,34 @@ commands.") "This package implements optimal parameters for data-types.") (license license:expat))) +(define-public go-github-com-antlr4-go-antlr-v4 + (package + (name "go-github-com-antlr4-go-antlr-v4") + (version "4.13.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/antlr4-go/antlr") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1m5q00fvz28dgvv3ws924p6gamxm6gzqfm12f5ryhljifg22xq3d")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/antlr4-go/antlr/v4")) + (propagated-inputs + (list go-golang-org-x-exp)) + (home-page "https://github.com/antlr4-go/antlr") + (synopsis "ANTLR4 Go Runtime Module") + (description + "This package implements the Go version of the +@url{https://github.com/antlr/antlr4, ANTLR 4} runtime - ANother Tool for +Language Recognition, a parser generator that uses a LL algorithm for +parsing.") + (license license:bsd-3))) + (define-public go-github-com-apex-logs (package (name "go-github-com-apex-logs") @@ -1489,7 +1719,7 @@ dumps of Go values.") (define-public go-github-com-apparentlymart-go-textseg-autoversion (package (name "go-github-com-apparentlymart-go-textseg-autoversion") - (version "1.3.0") + (version "1.4.0") (source (origin (method git-fetch) @@ -1498,7 +1728,7 @@ dumps of Go values.") (commit (go-version->git-ref version #:subdir "autoversion")))) (file-name (git-file-name name version)) (sha256 - (base32 "1j7vm09cd36wm4z986qz5am3rk242v52amcapwbdbkbgzx2kqfkm")))) + (base32 "06y73sqyihcyfigy9z0kbv4x1dd7yh4ipkxhsyshd04hwxfxx0bq")))) (build-system go-build-system) (arguments (list @@ -1687,6 +1917,7 @@ cluster segmentation algorithm.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/arbovm/levenshtein")) (home-page "https://github.com/arbovm/levenshtein") (synopsis "Levenshtein Distance in Golang") @@ -1719,6 +1950,31 @@ Distance}.") inspired by the causal messaging system in the Pony programming language.") (license license:expat))) +(define-public go-github-com-armon-circbuf + (package + (name "go-github-com-armon-circbuf") + (version "0.0.0-20190214190532-5111143e8da2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/armon/circbuf") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nhzs8wza5sxqjh0920jypy9irq6cspd55g8a9vgyjjfrqb5njs0")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/armon/circbuf")) + (home-page "https://github.com/armon/circbuf") + (synopsis "Circular buffer for Golang") + (description + "This package provides a circular buffer object. The buffer can be +written to infinitely, but has a fixed size, so only the last @code{size} +bytes are ever retained.") + (license license:expat))) + (define-public go-github-com-armon-go-radix (package (name "go-github-com-armon-go-radix") @@ -1807,6 +2063,7 @@ for Go.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/asaskevich/govalidator" #:phases #~(modify-phases %standard-phases @@ -2023,29 +2280,31 @@ interfaces.") (license license:bsd-3))) (define-public go-github-com-awesome-gocui-keybinding - (package - (name "go-github-com-awesome-gocui-keybinding") - (version "1.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/awesome-gocui/keybinding") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0d1nvxs2pd6nc10gm3md2rsd0v33025b8dik1l1iy8klzhiqfd1q")))) - (build-system go-build-system) - (arguments - (list - #:tests? #f ;broken tests - #:import-path "github.com/awesome-gocui/keybinding")) - (propagated-inputs (list go-github-com-awesome-gocui-gocui)) - (home-page "https://github.com/awesome-gocui/keybinding") - (synopsis "Wrapper for parsing gocui keybindings in Golang") - (description - "This package provides a golang wrapper for parsing gocui keybindings.") - (license license:expat))) + (let ((commit "86029037a63f3b47096fcfef02f63e5e5d6d5abd") + (revision "1")) + (package + (name "go-github-com-awesome-gocui-keybinding") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/awesome-gocui/keybinding") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wa7scakwbqfzxc81wxmw1z0c9w3z92vdrxa8mha6w9ykifjdkyz")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f ;broken tests + #:import-path "github.com/awesome-gocui/keybinding")) + (propagated-inputs (list go-github-com-awesome-gocui-gocui)) + (home-page "https://github.com/awesome-gocui/keybinding") + (synopsis "Wrapper for parsing gocui keybindings in Golang") + (description + "This package provides a golang wrapper for parsing gocui keybindings.") + (license license:expat)))) (define-public go-github-com-axiomhq-hyperloglog (package @@ -2063,7 +2322,6 @@ interfaces.") (build-system go-build-system) (arguments (list - #:go go-1.23 #:import-path "github.com/axiomhq/hyperloglog")) (propagated-inputs (list go-github-com-stretchr-testify go-github-com-kamstrup-intmap @@ -2369,6 +2627,7 @@ based on murmurhash.") (build-system go-build-system) (arguments (list + #:go go-1.23 ;; This test fails with Go 1.16. #:test-flags #~(list "-skip" "TestMatch") #:import-path "github.com/bmatcuk/doublestar")) @@ -2402,7 +2661,7 @@ matching and globbing with support for \"doublestar\" patterns.") (package (inherit go-github-com-bmatcuk-doublestar) (name "go-github-com-bmatcuk-doublestar-v4") - (version "4.7.1") + (version "4.8.1") (source (origin (method git-fetch) @@ -2411,9 +2670,10 @@ matching and globbing with support for \"doublestar\" patterns.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1bvfxqkpl8bkfqxjxjgmz0gd4b4v6dxwrzxq2qzly0r9zrj1lfic")))) + (base32 "0jskh3dp9xmh1bf1a7dh5ykv0pk2v4pxh5bynsl33cmw61dkd6s0")))) (arguments (list + #:go go-1.23 #:import-path "github.com/bmatcuk/doublestar/v4")))) (define-public go-github-com-bmizerany-perks-quantile @@ -2534,7 +2794,7 @@ Supported Barcode Types: (define-public go-github-com-briandowns-spinner (package (name "go-github-com-briandowns-spinner") - (version "1.23.0") + (version "1.23.2") (source (origin (method git-fetch) @@ -2543,7 +2803,7 @@ Supported Barcode Types: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "036r59m068k8grr0q77a6b1rqw4dyxm00fsxj7b9w1fjviq8djs6")) + (base32 "1icg6z10rkksbls6c50syfw63vvxbp849w4gbq3dsxlsabj32vsp")) (modules '((guix build utils))) (snippet '(begin @@ -2671,6 +2931,7 @@ strings into words like a POSIX or Windows shell would.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/BurntSushi/toml")) (home-page "https://github.com/BurntSushi/toml") (synopsis "Toml parser and encoder for Go") @@ -2682,7 +2943,7 @@ similar to Go's standard library @code{json} and @code{xml} package.") (define-public go-github-com-bytedance-sonic (package (name "go-github-com-bytedance-sonic") - (version "1.12.6") + (version "1.13.3") (source (origin (method git-fetch) @@ -2691,7 +2952,7 @@ similar to Go's standard library @code{json} and @code{xml} package.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "011hp6lvqvx4facxsmy6vya02g9q3rlnmxcii827sbf6bssy7wxp")) + (base32 "0sh7xmf0sivxbl344ns4i35fijcq259wcz5fn2xb5pkacxffclgg")) (modules '((guix build utils))) (snippet #~(begin @@ -2731,7 +2992,7 @@ using JIT and SIMD approaches.") (define-public go-github-com-bytedance-sonic-loader (package (name "go-github-com-bytedance-sonic-loader") - (version "0.2.1") + (version "0.2.4") (source (origin (method git-fetch) @@ -2741,7 +3002,7 @@ using JIT and SIMD approaches.") #:subdir "loader")))) (file-name (git-file-name name version)) (sha256 - (base32 "0fyjq3hr4cmai2r06ppzil314bcqz416gd1zpw7lfp9h7mcwxwa4")))) + (base32 "09a7jka6a74802i6a6lgxlc3vp0jnb69hy1l5s772260q1zgnkds")))) (build-system go-build-system) (arguments (list @@ -3024,35 +3285,87 @@ 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-colorprofile + (package + (name "go-github-com-charmbracelet-colorprofile") + (version "0.3.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/charmbracelet/colorprofile") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r2qhiq110hjk55y4l4bkcrmkksbr8ah4s8qp9rd96vjy6bmbr2a")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/charmbracelet/colorprofile")) + (propagated-inputs + (list go-github-com-charmbracelet-x-ansi + go-github-com-charmbracelet-x-term + go-github-com-lucasb-eyer-go-colorful + go-github-com-xo-terminfo + go-golang-org-x-sys)) + (home-page "https://github.com/charmbracelet/colorprofile") + (synopsis "Magical terminal color handling") + (description + "Package colorprofile provides a way to downsample ANSI escape sequence +colors and styles automatically based on output, environment variables, and +Terminfo databases.") + (license license:expat))) + (define-public go-github-com-charmbracelet-glamour (package (name "go-github-com-charmbracelet-glamour") - (version "0.8.0") + (version "0.10.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/charmbracelet/glamour") - (commit (string-append "v" version)))) + (url "https://github.com/charmbracelet/glamour") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "112clivb9nsxlaqvypwcidmk4dkszg7vglb4apia43rdqqj82s6k")))) + (base32 "1b8r13n6ia92m6s297br86s82jxzhfb8snildm4mcgx3sb4mg9l6")))) (build-system go-build-system) (arguments (list #:embed-files #~(list ".*\\.xml") - #:import-path "github.com/charmbracelet/glamour")) + #:import-path "github.com/charmbracelet/glamour" + #:test-flags + #~(list "-skip" (string-join + ;; Some tests fail with comparing terminal escape + ;; sequence. + (list "TestRenderHelpers" + "TestRenderer/code_block" + "TestRenderer/table_align" + "TestRenderer/table_truncate" + "TestRendererIssues/107" + "TestRendererIssues/257" + "TestRendererIssues/316" + "TestRendererIssues/46_2" + "TestRendererIssues/48" + "TestRendererIssues/79" + "TestTermRenderer" + "TestTermRendererWriter" + "TestWithChromaFormatterCustom" + "TestWithChromaFormatterDefault") + "|")))) (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-charmbracelet-x-exp-slice 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)) + go-golang-org-x-term + go-golang-org-x-text)) (home-page "https://github.com/charmbracelet/glamour/") (synopsis "Write handsome command-line tools with glamour") (description @@ -3085,7 +3398,7 @@ glamorous default themes.") (replace "go-github-com-alecthomas-chroma-v2" go-github-com-alecthomas-chroma) (append go-github-com-dlclark-regexp2 - go-github-com-olekukonko-tablewriter)))))) + go-github-com-olekukonko-tablewriter-0.0.5)))))) (define-public go-github-com-charmbracelet-harmonica (package @@ -3119,16 +3432,16 @@ glamorous default themes.") (define-public go-github-com-charmbracelet-lipgloss (package (name "go-github-com-charmbracelet-lipgloss") - (version "1.0.0") + (version "1.1.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/charmbracelet/lipgloss") - (commit (string-append "v" version)))) + (url "https://github.com/charmbracelet/lipgloss") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0d1aqzsjy0mcliydbfbg223xxpf9646frbj35ac4fisdy3w3n142")))) + (base32 "1iww4y37qsyzswsg0p8ws7wb2jl6i2z2n0kwayvfwwh73qjh8zmr")))) (build-system go-build-system) (arguments (list @@ -3142,6 +3455,7 @@ glamorous default themes.") (propagated-inputs (list go-github-com-aymanbagabas-go-udiff go-github-com-charmbracelet-x-ansi + go-github-com-charmbracelet-x-cellbuf go-github-com-charmbracelet-x-exp-golden go-github-com-muesli-termenv go-github-com-rivo-uniseg)) @@ -3184,24 +3498,38 @@ glamorous default themes.") (define-public go-github-com-charmbracelet-x-ansi (package (name "go-github-com-charmbracelet-x-ansi") - (version "0.6.0") + (version "0.10.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/charmbracelet/x") - (commit (go-version->git-ref version - #:subdir "ansi")))) + (url "https://github.com/charmbracelet/x") + (commit (go-version->git-ref version + #:subdir "ansi")))) (file-name (git-file-name name version)) (sha256 - (base32 "0y76a1zqj2ccyqibh4xk47hyw8grwrf5j3qm2j0pzd2yn592dny5")))) + (base32 "083zj3yqb48li8w389iabi1b1zklbw7cwam2grvvglcqrrsj3bsf")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + #~(begin + (define (delete-all-but directory . preserve) + (with-directory-excursion directory + (let* ((pred (negate (cut member <> + (cons* "." ".." preserve)))) + (items (scandir "." pred))) + (for-each (cut delete-file-recursively <>) items)))) + (delete-all-but "." "ansi"))))) (build-system go-build-system) (arguments (list #:import-path "github.com/charmbracelet/x/ansi" #:unpack-path "github.com/charmbracelet/x")) (propagated-inputs - (list go-github-com-lucasb-eyer-go-colorful + (list go-github-com-bits-and-blooms-bitset + go-github-com-lucasb-eyer-go-colorful + go-github-com-mattn-go-runewidth go-github-com-rivo-uniseg)) (home-page "https://github.com/charmbracelet/x") (synopsis "ANSI escape sequence parser and definitions") @@ -3211,6 +3539,49 @@ glamorous default themes.") ECMA-48} specs.") (license license:expat))) +(define-public go-github-com-charmbracelet-x-cellbuf + (package + (name "go-github-com-charmbracelet-x-cellbuf") + (version "0.0.13") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/charmbracelet/x") + (commit (go-version->git-ref version + #:subdir "cellbuf")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1hx2dcxr40vs73xmhx0yhhafhjhns064zl9i5wskdyp47nl3z81w")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + #~(begin + (define (delete-all-but directory . preserve) + (with-directory-excursion directory + (let* ((pred (negate (cut member <> + (cons* "." ".." preserve)))) + (items (scandir "." pred))) + (for-each (cut delete-file-recursively <>) items)))) + (delete-all-but "." "cellbuf"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/charmbracelet/x/cellbuf" + #:unpack-path "github.com/charmbracelet/x")) + (propagated-inputs + (list go-github-com-charmbracelet-colorprofile + go-github-com-charmbracelet-x-ansi + go-github-com-charmbracelet-x-term + go-github-com-mattn-go-runewidth + go-github-com-rivo-uniseg)) + (home-page "https://github.com/charmbracelet/x") + (synopsis "Terminal cell buffer functionality") + (description + "Package cellbuf provides terminal cell buffer functionality.") + (license license:expat))) + (define-public go-github-com-charmbracelet-x-exp-golden (package (name "go-github-com-charmbracelet-x-exp-golden") @@ -3253,20 +3624,45 @@ 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 +(define-public go-github-com-charmbracelet-x-exp-slice (package - (name "go-github-com-charmbracelet-x-input") - (version "0.3.0") + (name "go-github-com-charmbracelet-x-exp-slice") + (version "0.0.0-20250910184208-1e3a578dd00d") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/charmbracelet/x") (commit (go-version->git-ref version - #:subdir "input")))) + #:subdir "exp/slice")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jbyg0ar8cz5f1lfnsqrzsbl51c74xf27v065nwcw78b26i7mg2g")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/charmbracelet/x/exp/slice" + #:unpack-path "github.com/charmbracelet/x")) + (home-page "https://github.com/charmbracelet/x") + (synopsis "Utility functions for working with slices in Glang") + (description + "Package slice provides utility functions for working with slices in Go.") + (license license:expat))) + +(define-public go-github-com-charmbracelet-x-input + (package + (name "go-github-com-charmbracelet-x-input") + (version "0.3.7") + (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")) + (base32 "0yp3hx5b4z61yfbgphabhz16v8alfwd7nwyq40bzls4hcg91hqw5")) (snippet #~(begin (use-modules (guix build utils)) (delete-file-recursively "ansi"))))) @@ -3277,8 +3673,8 @@ package provides an API for comparing Golden files.") #: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-rivo-uniseg go-github-com-xo-terminfo go-golang-org-x-sys)) (home-page "https://github.com/charmbracelet/x") @@ -3300,7 +3696,19 @@ package provides an API for comparing Golden files.") #:subdir "term")))) (file-name (git-file-name name version)) (sha256 - (base32 "1shw55110fnn4xz80wmgr18czmiil6z1j064m90iw8c7j9llfzn5")))) + (base32 "1shw55110fnn4xz80wmgr18czmiil6z1j064m90iw8c7j9llfzn5")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + #~(begin + (define (delete-all-but directory . preserve) + (with-directory-excursion directory + (let* ((pred (negate (cut member <> + (cons* "." ".." preserve)))) + (items (scandir "." pred))) + (for-each (cut delete-file-recursively <>) items)))) + (delete-all-but "." "term"))))) (build-system go-build-system) (arguments (list @@ -3447,7 +3855,7 @@ code is based on the Go-based PHaul implementation from the CRIU repository.") (package (inherit go-github-com-cheggaaa-pb) (name "go-github-com-cheggaaa-pb-v3") - (version "3.1.5") + (version "3.1.7") (source (origin (method git-fetch) @@ -3456,7 +3864,7 @@ code is based on the Go-based PHaul implementation from the CRIU repository.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mf86iav69qpyg0nd54g0f50yigjkfzdhaqzkbn4yfb3fnb75n2z")))) + (base32 "1zbqjc7phdsa4p66j3nrpbgrdq171nvqma99bq6d3w373lnl1q67")))) (arguments (list #:import-path "github.com/cheggaaa/pb/v3" @@ -3711,6 +4119,192 @@ locale can be selected.") the Go language features.") (license license:asl2.0))) +(define-public go-github-com-cockroachdb-crlib + (package + (name "go-github-com-cockroachdb-crlib") + (version "0.0.0-20250521014800-1789bc709bcb") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cockroachdb/crlib") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09757m5brzl2pgvzqwgcz5sy0wnvgl12lz991plssazmgkl98dv6")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + ;; TODO: More additional packages are required to enable all tests, it's + ;; used as source only package. + #:test-flags + #~(list "-skip" "TestLint") + #:import-path "github.com/cockroachdb/crlib")) + (home-page "https://github.com/cockroachdb/crlib") + (synopsis "Utility library for CockroachDB") + (description + "This package provides general-purpose Go libraries and utilities. It is +intended as an \"extended standard library\" and it has no external +dependencies.") + (license license:asl2.0))) + +(define-public go-github-com-cockroachdb-fifo + (package + (name "go-github-com-cockroachdb-fifo") + (version "0.0.0-20240816210425-c5d0cb0b6fc0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cockroachdb/fifo") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17p2x5q7ngp0l0wswyf9816dv93ix0wljvp9cfiid9if6mr96wjp")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/cockroachdb/fifo")) + (native-inputs + (list go-github-com-stretchr-testify + go-golang-org-x-sync)) + (home-page "https://github.com/cockroachdb/fifo") + (synopsis "Facilities for FIFO queueing in Golang") + (description + "This package provides several optimized facilities related to FIFO +queueing and rate limiting.") + (license license:asl2.0))) + +(define-public go-github-com-cockroachdb-logtags + (package + (name "go-github-com-cockroachdb-logtags") + (version "0.0.0-20241215232642-bb51bb14a506") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cockroachdb/logtags") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vlbp0k365arqqxmdvdizxvmx6qpr2fqhqi5p6ini3l5zbxl5bw7")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/cockroachdb/logtags")) + (home-page "https://github.com/cockroachdb/logtags") + (synopsis "Key/Value annotations for Golang contexts") + (description + "This package provides a way to attach key/value annotations to a Go +@code{context.Context}.") + (license license:asl2.0))) + +(define-public go-github-com-cockroachdb-redact + (package + (name "go-github-com-cockroachdb-redact") + (version "1.1.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cockroachdb/redact") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1q6h35nrgsh2ygcvvs4ds9swwzzbh3v7414rvlpsnqq6a1kcskw0")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/cockroachdb/redact")) + (home-page "https://github.com/cockroachdb/redact") + (synopsis "Utilities to redact Golang strings for confidentiality") + (description + "Package redact provides facilities for separating @code{safe} and +@code{unsafe} pieces of data when logging and constructing error object.") + (license license:asl2.0))) + +(define-public go-github-com-cockroachdb-swiss + (package + (name "go-github-com-cockroachdb-swiss") + (version "0.0.0-20250327203710-2932b022f6df") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cockroachdb/swiss") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1v902vdngjqabqz6brkrsa26sb5x0xwa2b3986jy8ih6z7x44ib5")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/cockroachdb/swiss")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-aclements-go-perfevent)) + (home-page "https://github.com/cockroachdb/swiss") + (synopsis "Golang port of Google's Swiss Table hash table") + (description + "This package implements Swiss Tables as described in +https://abseil.io/about/design/swisstables. It provides pseudo-randomized +iteration (iteration order will change from one iteration to the next) and +iteration stability akin to Go's builtin map if the map is mutated during +iteration.") + (license license:asl2.0))) + +(define-public go-github-com-cockroachdb-tokenbucket + (package + (name "go-github-com-cockroachdb-tokenbucket") + (version "0.0.0-20250429170803-42689b6311bb") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cockroachdb/tokenbucket") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "051s1y35xqnr2qxzzyqnhs4zz8knqfj6zyxgzli2c7nycbzg9nrq")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/cockroachdb/tokenbucket")) + (home-page "https://github.com/cockroachdb/tokenbucket") + (synopsis "Token bucket implementation in Golang") + (description + "This package provides a token bucket implementation in Golang.") + (license license:asl2.0))) + +(define-public go-github-com-code-hex-go-generics-cache + (package + (name "go-github-com-code-hex-go-generics-cache") + (version "1.5.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Code-Hex/go-generics-cache") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xna1fn9m35z17slf4z2f4dkc6s1hy5q41w8gf2500cl6bfid1ip")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/Code-Hex/go-generics-cache")) + (propagated-inputs (list go-golang-org-x-exp)) + (home-page "https://github.com/Code-Hex/go-generics-cache") + (synopsis "Key:Value store/cache library written in Golang") + (description + "This package implements a functionality of an in-memory key:value +store/cache that is suitable for applications running on a single machine. +This in-memory cache uses @url{https://go.dev/blog/generics-proposal, Go +Generics} which is introduced in 1.18.") + (license license:expat))) + (define-public go-github-com-containerd-btrfs-v2 (package (name "go-github-com-containerd-btrfs-v2") @@ -3845,6 +4439,32 @@ cgroup uses the OCI runtime-spec found 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-containerd (package (name "go-github-com-containerd-containerd") @@ -3969,32 +4589,6 @@ attachments, etc.") ;; Don't expose since it's a partial package. (properties '((hidden? . #t))))) -(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-continuity (package (name "go-github-com-containerd-continuity") @@ -4033,6 +4627,92 @@ dependencies and a simple API.") "This package provides a transport-agnostic, filesystem metadata manifest system.") (license license:asl2.0))) +(define-public go-github-com-containerd-errdefs + (package + (name "go-github-com-containerd-errdefs") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/containerd/errdefs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0afaljkkd388f6igr3f2vjnd14yr8h20fcfzglw8j5q1q7a1cvik")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/containerd/errdefs/pkg + (delete-file-recursively "pkg"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/containerd/errdefs")) + (home-page "https://github.com/containerd/errdefs") + (synopsis "Common definition and library of errors used by containerd") + (description + "Package errdefs defines the common errors used throughout containerd +packages.") + (license license:asl2.0))) + +(define-public go-github-com-containerd-errdefs-pkg + (package + (name "go-github-com-containerd-errdefs-pkg") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/containerd/errdefs") + (commit (go-version->git-ref version + #:subdir "pkg")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0afaljkkd388f6igr3f2vjnd14yr8h20fcfzglw8j5q1q7a1cvik")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + #~(begin + ;; XXX: 'delete-all-but' is copied from the turbovnc package. + ;; Consider to implement it as re-usable procedure in + ;; guix/build/utils or guix/build-system/go. + (define (delete-all-but directory . preserve) + (with-directory-excursion directory + (let* ((pred (negate (cut member <> + (cons* "." ".." preserve)))) + (items (scandir "." pred))) + (for-each (cut delete-file-recursively <>) items)))) + (delete-all-but "." "pkg"))))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/containerd/errdefs/pkg" + #:unpack-path "github.com/containerd/errdefs")) + (propagated-inputs + (list go-github-com-containerd-errdefs + go-github-com-containerd-typeurl-v2 + go-google-golang-org-genproto-googleapis-rpc + go-google-golang-org-grpc + go-google-golang-org-protobuf)) + (home-page "https://github.com/containerd/errdefs") + (synopsis "Addintional error handling modules for containerd") + (description + "This package provides an additinal Golang modules for error handling in +containerd projects. + +@itemize +@item errgrpc - provides utility functions for translating errors to and from +a gRPC context +@item errhttp - provides utility functions for translating errors to and from +a HTTP context +@end itemize") + (license license:asl2.0))) + (define-public go-github-com-containerd-fifo (package (name "go-github-com-containerd-fifo") @@ -4210,6 +4890,7 @@ parse and compare two semantic version strings.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/coreos/go-systemd/v22" #:phases #~(modify-phases %standard-phases @@ -4274,6 +4955,30 @@ submodules: @end itemize") (license license:asl2.0))) +(define-public go-github-com-cosiner-argv + (package + (name "go-github-com-cosiner-argv") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cosiner/argv") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ard8655lr4rqd929pvn9phv4mbgzrl3rswcl6i7p97cls7gn2yc")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/cosiner/argv")) + (home-page "https://github.com/cosiner/argv") + (synopsis "Split command line string into arguments array") + (description + "Package argv parses command line string into arguments array using the +bash syntax.") + (license license:expat))) + (define-public go-github-com-couchbase-gomemcached (package (name "go-github-com-couchbase-gomemcached") @@ -4345,6 +5050,57 @@ https://github.com/cowsql/cowsql} C library and a pure Golang client for the https://github.com/cowsql/cowsql/blob/main/doc/protocol.md}.") (license license:asl2.0))) +(define-public go-github-com-cpuguy83-dockercfg + (package + (name "go-github-com-cpuguy83-dockercfg") + (version "0.3.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cpuguy83/dockercfg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "055gxyq0wvyr9lap6rd49ijyg846mcpd1kwx9w69qj0pszvh2v96")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/cpuguy83/dockercfg")) + (home-page "https://github.com/cpuguy83/dockercfg") + (synopsis "Library to load Docker CLI configs") + (description + "Go library to load docker CLI configs, auths, etc. with minimal deps. + So far the only deps are on the stdlib.") + (license license:expat))) + +(define-public go-github-com-cpuguy83-go-md2man-v2 + (package + (name "go-github-com-cpuguy83-go-md2man-v2") + (version "2.0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cpuguy83/go-md2man") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gqlkv1pv8cpvcj8g77d1hzy5bnp5a3k3xs02iahlr3a65m4azsi")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/cpuguy83/go-md2man/v2")) + (propagated-inputs + (list go-github-com-russross-blackfriday-v2)) + (home-page "https://github.com/cpuguy83/go-md2man") + (synopsis "Convert markdown into roff") + (description + "Go-md2man is a Go program that converts markdown to roff for the purpose +of building man pages.") + (license license:expat))) + (define-public go-github-com-crackcomm-go-gitignore (package (name "go-github-com-crackcomm-go-gitignore") @@ -4601,6 +5357,8 @@ structs in the Go programming language.") (outputs '("out" "doc")) (arguments (list + ;; See <https://github.com/d5/tengo/issues/466>. + #:go go-1.23 #:import-path "github.com/d5/tengo/v2" #:phases #~(modify-phases %standard-phases @@ -4712,6 +5470,7 @@ gist (https://gist.github.com/kballard/272720).") (name "go-github-com-darccio-mergo") (arguments (list + #:go go-1.23 #:import-path "github.com/darccio/mergo" #:phases #~(modify-phases %standard-phases @@ -4724,7 +5483,7 @@ gist (https://gist.github.com/kballard/272720).") (define-public go-github-com-dave-jennifer (package (name "go-github-com-dave-jennifer") - (version "1.7.0") + (version "1.7.1") (source (origin (method git-fetch) @@ -4733,10 +5492,11 @@ gist (https://gist.github.com/kballard/272720).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "01sgafbds8n5zs61qf057whn06yj6avz30xgxk6pllf22528558m")))) + (base32 "1a0zg8cdnhyqfgrz7jbgpnnz75g5ps1c8cnmbxvfldmy973ziaml")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/dave/jennifer")) (home-page "https://github.com/dave/jennifer") (synopsis "Code generator for Go") @@ -4920,6 +5680,35 @@ information about the music/image/video that is Now Playing on the system.") formatting information, rather than the current locale name.") (license license:expat))) +(define-public go-github-com-denisbrodbeck-machineid + (package + (name "go-github-com-denisbrodbeck-machineid") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/denisbrodbeck/machineid") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "075rqb2f9hla9jwc6823jkkb3xcv6azz3phndbssssn2dps07cib")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/denisbrodbeck/machineid" + #:test-flags + #~(list "-vet=off" ;Go@1.24 forces vet, but tests are not ready yet. + ;; id_test.go:8: machineid: open /etc/machine-id: no such file + ;; or directory + "-skip" "TestID|TestProtectedID"))) + (home-page "https://github.com/denisbrodbeck/machineid") + (synopsis "Read the unique machine ID of most host OS's") + (description + "This package implements functionality for reading the unique machine +ID (@code{/etc/machine-id}) of most OSs (without admin privileges).") + (license license:expat))) + (define-public go-github-com-dennwc-btrfs (package (name "go-github-com-dennwc-btrfs") @@ -5012,6 +5801,46 @@ formatting information, rather than the current locale name.") encoding/decoding. It has no dependencies.") (license license:expat))) +(define-public go-github-com-derekparker-trie + (package + (name "go-github-com-derekparker-trie") + (version "0.0.0-20230829180723-39f4de51ef7d") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/derekparker/trie") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ik8xsxm7bd12lycga6d0zw561axmdwdqxi5qbf39n7mw41l9vj2")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/derekparker/trie")) + (home-page "https://github.com/derekparker/trie") + (synopsis "Prefix/fuzzy string searching in Golang") + (description "Implementation of an R-Way Trie data structure.") + (license license:expat))) + +(define-public go-github-com-derekparker-trie-v3 + (package + (inherit go-github-com-derekparker-trie) + (name "go-github-com-derekparker-trie-v3") + (version "3.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/derekparker/trie") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02br0cw2wh27xffs1hsbwh145d3vpaihcd7mygf36ihdhrp00pka")))) + (arguments + (list + #:import-path "github.com/derekparker/trie/v3")))) + (define-public go-github-com-detailyang-go-fallocate (package (name "go-github-com-detailyang-go-fallocate") @@ -5089,6 +5918,38 @@ simultaneously. It uses @acronym{Multi-Version Concurrency Control, MVCC}, supports concurrent serializable transactions.") (license license:asl2.0))) +(define-public go-github-com-dgraph-io-badger-v4 + (package + (inherit go-github-com-dgraph-io-badger) + (name "go-github-com-dgraph-io-badger-v4") + (version "4.5.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dgraph-io/badger") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0v4c69whypm3k40hrx8bw9rjrcb0swz43v056s0fadqr04j0ncwj")))) + (arguments + (list + #:go go-1.23 + #:tests? #f ; TODO: tests hang, find out why. + #:import-path "github.com/dgraph-io/badger/v4")) + (propagated-inputs + (list go-github-com-cespare-xxhash-v2 + go-github-com-dgraph-io-ristretto-v2 + go-github-com-dustin-go-humanize + go-github-com-google-flatbuffers + go-github-com-klauspost-compress + go-github-com-pkg-errors + go-github-com-spf13-cobra + go-go-opencensus-io + go-golang-org-x-net + go-golang-org-x-sys + go-google-golang-org-protobuf)))) + (define-public go-github-com-dgraph-io-ristretto (package (name "go-github-com-dgraph-io-ristretto") @@ -5349,32 +6210,6 @@ Desktop Management Interface (DMI) data and structures.") Mark} detection.") (license license:asl2.0))) -(define-public go-github-com-distribution-reference - (package - (name "go-github-com-distribution-reference") - (version "0.6.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/distribution/reference") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1zj2lmmznlrxdrrfmdsx7fgrmi64bj1jqz6r0ar35qmkx8pjvgl2")))) - (build-system go-build-system) - (arguments - (list - #:import-path "github.com/distribution/reference")) - (propagated-inputs (list go-github-com-opencontainers-go-digest)) - (home-page "https://github.com/distribution/reference") - (synopsis "Handle references to container images held in registries") - (description - "Package reference provides a general type to represent any way of referencing -images within the registry. Its main purpose is to abstract tags and digests -(content-addressable hash).") - (license license:asl2.0))) - (define-public go-github-com-disintegration-imaging (package (name "go-github-com-disintegration-imaging") @@ -5401,6 +6236,32 @@ images within the registry. Its main purpose is to abstract tags and digests (resize, rotate, crop, brightness/contrast adjustments, etc.).") (license license:expat))) +(define-public go-github-com-distribution-reference + (package + (name "go-github-com-distribution-reference") + (version "0.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/distribution/reference") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zj2lmmznlrxdrrfmdsx7fgrmi64bj1jqz6r0ar35qmkx8pjvgl2")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/distribution/reference")) + (propagated-inputs (list go-github-com-opencontainers-go-digest)) + (home-page "https://github.com/distribution/reference") + (synopsis "Handle references to container images held in registries") + (description + "Package reference provides a general type to represent any way of referencing +images within the registry. Its main purpose is to abstract tags and digests +(content-addressable hash).") + (license license:asl2.0))) + (define-public go-github-com-djherbis-atime (package (name "go-github-com-djherbis-atime") @@ -5614,7 +6475,7 @@ interact with distribution components.") go-github-com-moby-sys-sequential go-github-com-moby-sys-user go-github-com-moby-sys-userns - go-go-opentelemetry-io-contrib + go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp go-go-opentelemetry-io-otel)) (home-page "https://github.com/docker/docker") (synopsis "The Moby Project") @@ -6069,7 +6930,7 @@ specified in @url{https://datatracker.ietf.org/doc/html/rfc6350, RFC 6350}.") (define-public go-github-com-emersion-go-webdav (package (name "go-github-com-emersion-go-webdav") - (version "0.5.0") + (version "0.6.0") (source (origin (method git-fetch) @@ -6078,18 +6939,11 @@ specified in @url{https://datatracker.ietf.org/doc/html/rfc6350, RFC 6350}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ay0x3c1frkj4z3j17s42yvf1hgmg8223qmsyr41yxwz88zsvjlj")))) + (base32 "0lqll59rvdlj0s014fjdn8brb9j9h59fmly744yfz6wxwdcp23g4")))) (build-system go-build-system) (arguments (list - #:import-path "github.com/emersion/go-webdav" - #: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 "go" "test" "-v" "./...")))))))) + #:import-path "github.com/emersion/go-webdav")) (propagated-inputs (list go-github-com-emersion-go-ical go-github-com-emersion-go-vcard)) @@ -6318,7 +7172,7 @@ cases (e.g. snake_case, camelCase, kebab-case, etc).") (define-public go-github-com-expr-lang-expr (package (name "go-github-com-expr-lang-expr") - (version "1.16.9") + (version "1.17.5") (source (origin (method git-fetch) @@ -6327,7 +7181,7 @@ cases (e.g. snake_case, camelCase, kebab-case, etc).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "08p7gcxm7psgn1rzhhy2s2va59ssy77x8wd706gdp2pif7wln883")) + (base32 "0kcpgycdy9fm4g2i4mhp6hprzkg75r0lfrvc0gbwd2wiir460222")) (modules '((guix build utils))) (snippet #~(begin @@ -6340,6 +7194,7 @@ cases (e.g. snake_case, camelCase, kebab-case, etc).") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/expr-lang/expr")) (home-page "https://expr-lang.org/") (synopsis "Expression language and expression evaluation for Go") @@ -6384,6 +7239,31 @@ in a consistent state and never represent an in-progress write.") ;; <...> (license license:bsd-3))) +(define-public go-github-com-facebookgo-flagenv + (package + (name "go-github-com-facebookgo-flagenv") + (version "0.0.0-20160425205200-fcd59fca7456") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/facebookarchive/flagenv") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0c7fw4y4gmdrn66dx7la637lx0hvs1w27x9j12wdx037n51r078g")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f ;Tests require dated code <github.com/facebookgo/ensure> + #:import-path "github.com/facebookgo/flagenv")) + (home-page "https://github.com/facebookgo/flagenv") + (synopsis "Populate flags from environment variables") + (description + "Package flagenv provides the ability to populate flags from environment +variables.") + (license license:bsd-3))) + (define-public go-github-com-facette-natsort (package (name "go-github-com-facette-natsort") @@ -6624,6 +7504,35 @@ quoting, commenting, and escaping.") "@code{gg} is a library for rendering 2D graphics in pure Go.") (license license:expat))) +(define-public go-github-com-freddierice-go-losetup + (package + (name "go-github-com-freddierice-go-losetup") + (version "2.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/freddierice/go-losetup") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qhc81r3cxhx16c7pkgwpkhkz1xn47xjcgfwydvlgh9f04cyydpq")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "vendor"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/freddierice/go-losetup")) + (propagated-inputs + (list go-golang-org-x-sys)) + (home-page "https://github.com/freddierice/go-losetup") + (synopsis "Loop devices for Golang") + (description + ;; XXX: Project's REAME lacks details. + "This package implements @code{/dev/loop} device in Go.") + (license license:expat))) + (define-public go-github-com-fsnotify-fsnotify (package (name "go-github-com-fsnotify-fsnotify") @@ -6676,7 +7585,7 @@ quoting, commenting, and escaping.") (define-public go-github-com-fxamacker-cbor-v2 (package (name "go-github-com-fxamacker-cbor-v2") - (version "2.7.0") + (version "2.9.0") (source (origin (method git-fetch) @@ -6685,7 +7594,7 @@ quoting, commenting, and escaping.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "039lk7n5155gy2sh55i1darcvxhv9fim2xmnvmx0xi9ihnrnczln")))) + (base32 "0mvlgjh59s0hqdhz5j0nf8p9mlp6hwkrd8i8bkyvq2hilgplm1pw")))) (build-system go-build-system) (arguments (list @@ -6761,7 +7670,7 @@ Differentiation between text and binary files}. (define-public go-github-com-gammazero-chanqueue (package (name "go-github-com-gammazero-chanqueue") - (version "1.0.0") + (version "1.1.0") (source (origin (method git-fetch) @@ -6770,7 +7679,7 @@ Differentiation between text and binary files}. (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0kji9blaqbphzrdr9b09c1lfm4vzj94m2ygwganw62byqg4hwy26")))) + (base32 "1ff4k2hmg9m1k9qjdr5cv1rdhls5iajpi4c3rdqwbmqnnaz7m5fr")))) (build-system go-build-system) (arguments (list @@ -6914,6 +7823,7 @@ also favors portability, and includes support for all POSIX systems.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/gdey/errors")) (home-page "https://github.com/gdey/errors") (synopsis "Augmentation of std @code{errors} library") @@ -6945,6 +7855,31 @@ library in go standard library.") "Go library that pluralizes and singularizes English nouns.") (license license:bsd-2))) +(define-public go-github-com-ghemawat-stream + (package + (name "go-github-com-ghemawat-stream") + (version "0.0.0-20171120220530-696b145b53b9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ghemawat/stream") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0i0cjvhn2zfnvm9dc9nd9yyq27nmv8j2s7sa0lvcdvv2mbcdvvq8")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.23 + #:import-path "github.com/ghemawat/stream")) + (home-page "https://github.com/ghemawat/stream") + (synopsis "UNIX pipe-like chained filters") + (description + "This Package provides filters that can be chained together in a manner +similar to Unix pipelines.") + (license license:asl2.0))) + (define-public go-github-com-ghodss-yaml (package (name "go-github-com-ghodss-yaml") @@ -6980,7 +7915,7 @@ it effectively reuses the JSON struct tags as well as the custom JSON methods (define-public go-github-com-git-lfs-go-netrc (package (name "go-github-com-git-lfs-go-netrc") - (version "0.0.0-20230601124202-e96144b9a966") + (version "0.0.0-20250218165306-ba0029b43d11") (source (origin (method git-fetch) @@ -6989,7 +7924,7 @@ it effectively reuses the JSON struct tags as well as the custom JSON methods (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1rb8xk0gp7yvw10zs122p48qhj3xc9csaykbflr7wdfx5xqpbr2f")))) + (base32 "11srhd9xjrrkmqxkgzdbfahak6bi1zlm153i6cbl3z0pchrlykqr")))) (build-system go-build-system) (arguments (list @@ -7068,6 +8003,35 @@ killing a command. All operations are safe to call from multiple goroutines.") (license license:expat))) +;; For delve@1.25.1 +(define-public go-github-com-go-delve-liner + (hidden-package + (package + (name "go-github-com-go-delve-liner") + (version "1.2.3-0.20231231155935-4726ab1d7f62") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-delve/liner") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0f94qx7jzign64gv865whirq9xw7rakxf3wy4y9fsn52bxx408x0")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/go-delve/liner")) + (propagated-inputs + (list go-github-com-mattn-go-runewidth + go-golang-org-x-sys)) + (home-page "https://github.com/go-delve/liner") + (synopsis "Command line editor Go library") + (description + "This package is an alternative fork of https://github.com/peterh/liner +to build @code{delve} - debugger for the Go programming language.") + (license license:expat)))) + (define-public go-github-com-go-errors-errors (package (name "go-github-com-go-errors-errors") @@ -7084,6 +8048,7 @@ goroutines.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/go-errors/errors" ;; Stack trace does not contain source line: 'a: b(5)'. #:test-flags #~(list "-skip" "TestStackFormat"))) @@ -7320,30 +8285,31 @@ standard log package.") (license license:asl2.0))) (define-public go-github-com-go-md2man + (deprecated-package "go-github-com-go-md2man" go-github-com-cpuguy83-go-md2man-v2)) + +(define-public go-github-com-go-openapi-inflect (package - (name "go-github-com-go-md2man") - (version "2.0.5") + (name "go-github-com-go-openapi-inflect") + (version "0.21.2") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/cpuguy83/go-md2man") + (url "https://github.com/go-openapi/inflect") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0gqlkv1pv8cpvcj8g77d1hzy5bnp5a3k3xs02iahlr3a65m4azsi")))) + (base32 "0xmayn2qbl8dy7hk60xwwgkacpzv7ssm2s6xqn84kg4bnr6bbvhv")))) (build-system go-build-system) (arguments (list - #:skip-build? #t - #:import-path "github.com/cpuguy83/go-md2man")) - (propagated-inputs - (list go-github-com-russross-blackfriday-v2)) - (home-page "https://github.com/cpuguy83/go-md2man") - (synopsis "Convert markdown into roff") + #:import-path "github.com/go-openapi/inflect")) + (home-page "https://github.com/go-openapi/inflect") + (synopsis "Pluralize words library for Golang") (description - "Go-md2man is a Go program that converts markdown to roff for the purpose -of building man pages.") + "This package provides a basic set of functions applying grammar rules to +inflect English words, modify case style (Capitalize, camelCase, snake_case, +etc.).") (license license:expat))) (define-public go-github-com-go-playground-locales @@ -7440,6 +8406,7 @@ professionally translated (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/go-spatial/proj")) (native-inputs (list go-github-com-stretchr-testify)) @@ -7655,6 +8622,7 @@ native Go structure.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/gobwas/glob")) (home-page "https://github.com/gobwas/glob") (synopsis "Go globbing library") @@ -7689,7 +8657,7 @@ size.") (define-public go-github-com-goccy-go-yaml (package (name "go-github-com-goccy-go-yaml") - (version "1.12.0") + (version "1.18.0") (home-page "https://github.com/goccy/go-yaml") (source (origin @@ -7699,7 +8667,7 @@ size.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "06sf7vpz8gjyivrn3yhzcbbf3qhsqq5n7lsc23j91xw5xwpn37bk")))) + (base32 "0abvpywscsi503nq5a6z1jxhvvhk5gc366nk6xdlslp0gdh4sfhq")))) (build-system go-build-system) (arguments (list @@ -7709,13 +8677,7 @@ size.") (add-after 'unpack 'remove-benchmarks (lambda* (#:key import-path #:allow-other-keys) (delete-file-recursively - (string-append "src/" import-path "/benchmarks")))) - ;; 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" "./...")))))))) + (string-append "src/" import-path "/benchmarks"))))))) (native-inputs (list go-github-com-go-playground-validator-v10 go-github-com-google-go-cmp)) @@ -7752,6 +8714,7 @@ size.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/godbus/dbus" #:phases #~(modify-phases %standard-phases @@ -7882,6 +8845,7 @@ execution.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/gogs/chardet")) (home-page "https://github.com/gogs/chardet") (synopsis "Character set detection for Go") @@ -8096,27 +9060,88 @@ This package contains a series of small enhancements and additions.") the resource usage and performance characteristics of running containers.") (license license:asl2.0)))) +(define-public go-github-com-google-cel-go + (package + (name "go-github-com-google-cel-go") + (version "0.26.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/cel-go") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hrdr9fzac0p7jrlbchz2qvdikr1szq5rg4sdsld7n849mmz8ypf")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/google/cel-go/codelab + ;; - github.com/google/cel-go/conformance + ;; - github.com/google/cel-go/policy + ;; - github.com/google/cel-go/repl/appengine + ;; - github.com/google/cel-go/repl + ;; - github.com/google/cel-go/tools + (for-each delete-file-recursively + (list "codelab" + "conformance" + "policy" + "repl/appengine" + "repl" + "tools" + "vendor")))))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/google/cel-go" + #:test-flags #~(list "-skip" "TestStringFormat") + #: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"))))))) + (propagated-inputs + (list go-cel-dev-expr + go-github-com-antlr4-go-antlr-v4 + go-github-com-stoewer-go-strcase + go-golang-org-x-text + go-google-golang-org-genproto-googleapis-api + go-google-golang-org-protobuf + go-gopkg-in-yaml-v3)) + (home-page "https://github.com/google/cel-go") + (synopsis "Common Expression Language") + (description + "The Common Expression Language (CEL) is a non-Turing complete language +designed for simplicity, speed, safety, and portability. CEL's C-like +@url{https://github.com/google/cel-spec, syntax} looks nearly identical to +equivalent expressions in C++, Go, Java, and TypeScript.") + (license license:asl2.0))) + (define-public go-github-com-google-gnostic-models (package (name "go-github-com-google-gnostic-models") - (version "0.6.9") + (version "0.7.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/google/gnostic-models") - (commit (string-append "v" version)))) + (url "https://github.com/google/gnostic-models") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0z170sw1dlspxwbgpzffry5xm8mmcq7kpkrn0zkjzwdnmjhmmdqx")))) + (base32 "1xnqzkb25m3q425ld386mb5d34p0wfqnsjy7b5ss2r1mqbr38k6i")))) (build-system go-build-system) (arguments (list - #:import-path "github.com/google/gnostic-models" - #:skip-build? #t)) + #:skip-build? #t + #:import-path "github.com/google/gnostic-models")) (propagated-inputs - (list go-google-golang-org-protobuf - go-gopkg-in-yaml-v3)) + (list go-go-yaml-in-yaml-v3 + go-google-golang-org-protobuf)) (home-page "https://github.com/google/gnostic-models") (synopsis "Protocol Buffer models for Gnostic") (description @@ -8423,6 +9448,7 @@ provides a buffered io.Writer that is flushed at a timed interval.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/goverter/patherr")) (home-page "https://github.com/goverter/patherr") (synopsis "Implementation for Goverter's wrapErrorsUsing") @@ -8431,6 +9457,32 @@ provides a buffered io.Writer that is flushed at a timed interval.") @code{wrapErrorsUsing}.") (license license:expat))) +(define-public go-github-com-gowebpki-jcs + (package + (name "go-github-com-gowebpki-jcs") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gowebpki/jcs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cgclrxdkxrbch0791m4ijs9a4g4zn355k8griavaadjy87l3qq8")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/gowebpki/jcs")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/gowebpki/jcs") + (synopsis "JSON Canonicalization") + (description + "Package jcs transforms UTF-8 JSON data into a canonicalized version +according @@url{https://rfc-editor.org/rfc/rfc8785.html, RFC 8785}.") + (license license:asl2.0))) + (define-public go-github-com-guptarohit-asciigraph (package (name "go-github-com-guptarohit-asciigraph") @@ -8454,6 +9506,31 @@ provides a buffered io.Writer that is flushed at a timed interval.") "This package can generate ASCII line graphs in Golang.") (license license:bsd-3))) +(define-public go-github-com-h2non-filetype + (package + (name "go-github-com-h2non-filetype") + (version "1.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/h2non/filetype") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05xad4dfimlccg3hy0fpcns4fl7yj17dbpdf6ijwbp6k4ryzy9cm")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/h2non/filetype")) + (home-page "https://github.com/h2non/filetype") + (synopsis "Infer binary file types based on the magic numbers header signature") + (description + "This package implements a functionality to infer file and MIME type +checking the @url{https://en.wikipedia.org/wiki/Magic_number_(programming) +,magic numbers} signature.") + (license license:expat))) + (define-public go-github-com-h2non-parth (package (name "go-github-com-h2non-parth") @@ -8606,7 +9683,7 @@ sequences.") (define-public go-github-com-hashicorp-go-hclog (package (name "go-github-com-hashicorp-go-hclog") - (version "1.6.2") + (version "1.6.3") (source (origin (method git-fetch) @@ -8615,7 +9692,7 @@ sequences.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1lvr4ga95a0xb62vgq1hy558x3r65hn2d0h7bf0a88lsfsrcik0n")))) + (base32 "0nh70591hcxjvxdfkq2is437rvnrnf37mdgpl31qj47fdffclsjs")))) (build-system go-build-system) (arguments (list @@ -8771,7 +9848,7 @@ their component bytes.") (define-public go-github-com-hashicorp-go-version (package (name "go-github-com-hashicorp-go-version") - (version "1.6.0") + (version "1.7.0") (source (origin (method git-fetch) @@ -8780,18 +9857,19 @@ their component bytes.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0fw6hwvjadpbfj10yk7f64ypw8lmv5s5ny3s4ria0nv6xam1wpai")))) + (base32 "04kb102igwnp03rcjjlg7w2lb2dbr7h0w751w72v6imid51kyrsj")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/hashicorp/go-version")) + (list + #:go go-1.23 + #:import-path "github.com/hashicorp/go-version")) (home-page "https://github.com/hashicorp/go-version") - (synopsis "Go library for parsing and verifying versions and version -constraints") + (synopsis "Parsing and verifying versions for Golang") (description - "This package is a library for parsing versions and version -constraints, and verifying versions against a set of constraints. It can sort -a collection of versions properly, handles prerelease/beta versions, can -increment versions.") + "This package is a library for parsing versions and version constraints, +and verifying versions against a set of constraints. It can sort a collection +of versions properly, handles prerelease/beta versions, can increment +versions.") (license license:mpl2.0))) (define-public go-github-com-hashicorp-golang-lru @@ -8920,7 +9998,7 @@ expressing configuration which is easy for both humans and machines to read.") (define-public go-github-com-hashicorp-hcl-v2 (package (name "go-github-com-hashicorp-hcl-v2") - (version "2.11.1") + (version "2.23.0") (source (origin (method git-fetch) @@ -8929,10 +10007,11 @@ expressing configuration which is easy for both humans and machines to read.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0f9flmmkj7fr1337fc56cqy73faq87ix375hnz3id4wc023przv1")))) + (base32 "0y457prckv5pdglxxc61fcslmswm35c6swwgcrdvfmjgw286y56i")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/hashicorp/hcl/v2" #:test-flags #~(list "-skip" @@ -8942,20 +10021,16 @@ expressing configuration which is easy for both humans and machines to read.") "TestFunctionCallExprValue/valid_call_with_dynamic_arg") "|")))) (native-inputs - (list go-github-com-apparentlymart-go-dump - go-github-com-davecgh-go-spew + (list 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 + go-github-com-zclconf-go-cty-debug)) + (propagated-inputs (list go-github-com-agext-levenshtein go-github-com-apparentlymart-go-textseg-v13 go-github-com-mitchellh-go-wordwrap - go-github-com-zclconf-go-cty)) + go-github-com-zclconf-go-cty + go-golang-org-x-tools)) (synopsis "Go implementation of HashiCorp Configuration Language V2") (description "This package contains the main implementation of the @acronym{HCL, @@ -8964,6 +10039,37 @@ 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-hdrhistogram-hdrhistogram-go + (package + (name "go-github-com-hdrhistogram-hdrhistogram-go") + (version "1.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/HdrHistogram/hdrhistogram-go") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0l12j3dvljp868p1d2izpiq7ysll05fchvxij8zb8r160lmqv58r")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/HdrHistogram/hdrhistogram-go")) + (native-inputs + (list go-github-com-google-go-cmp + go-github-com-stretchr-testify)) + (propagated-inputs + (list go-gonum-org-v1-gonum)) + (home-page "https://github.com/HdrHistogram/hdrhistogram-go") + (synopsis "Gil Tene's HDR Histogram in Golang") + (description + "This package provides an implementation of +@url{https://github.com/HdrHistogram/HdrHistogram, Gil Tene's HDR Histogram} +data structure. The HDR Histogram allows for fast and accurate analysis of +the extreme ranges of data with non-normal distributions, like latency.") + (license license:expat))) + (define-public go-github-com-hebcal-gematriya (package (name "go-github-com-hebcal-gematriya") @@ -9290,6 +10396,7 @@ ABI}.") (name "go-github-com-imdario-mergo") (arguments (list + #:go go-1.23 #:import-path "github.com/imdario/mergo" #:phases #~(modify-phases %standard-phases @@ -9341,7 +10448,6 @@ better way of handling YAML when marshaling to and from structs.") (build-system go-build-system) (arguments (list - #:go go-1.24 #:import-path "github.com/itchyny/astgen-go")) (home-page "https://github.com/itchyny/astgen-go") (synopsis "AST build for Golang @code{interface{}} => @code{ast.Node}") @@ -9364,6 +10470,7 @@ better way of handling YAML when marshaling to and from structs.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/itchyny/go-flags" ;; Test is time dependent and not reproducible. ;; -.TH TestMan 1 "1 January 1970" @@ -10068,7 +11175,6 @@ vendor,product and class information.") (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)) @@ -10093,13 +11199,12 @@ that might only rarely be reached.") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl")))) + (base32 "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl")) + (patches (search-patches + "go-github-com-jbenet-go-context-fix-import-error.patch")))) (build-system go-build-system) (arguments - (list - #:import-path "github.com/jbenet/go-context")) - (propagated-inputs - (list go-golang-org-x-net)) + (list #:import-path "github.com/jbenet/go-context")) (home-page "https://github.com/jbenet/go-context/") (synopsis "@code{jbenet's} context extensions") (description @@ -10175,6 +11280,7 @@ object, which implements simple error-retrying functionality.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/jbenet/goprocess" #:test-flags #~(list "-short" @@ -10295,7 +11401,7 @@ Golang.") (define-public go-github-com-jedib0t-go-pretty-v6 (package (name "go-github-com-jedib0t-go-pretty-v6") - (version "6.6.5") + (version "6.6.7") (source (origin (method git-fetch) @@ -10304,10 +11410,11 @@ Golang.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0sy8fia04lxi07yga7z3h3fp19y4bla5p16v1n7ldip0ymdmvjnx")))) + (base32 "122zmbcrxvl0yvpcq56p4hhcasf7lmprmka4fa00hkpr0m0rrbxq")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:skip-build? #t #:import-path "github.com/jedib0t/go-pretty/v6")) (native-inputs @@ -10341,6 +11448,7 @@ text, etc. with a heavy emphasis on customization.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/jessevdk/go-flags" #:test-flags #~(list "-skip" "TestCompletion|TestParserCompletion"))) (propagated-inputs @@ -10832,7 +11940,6 @@ customized globally.") (build-system go-build-system) (arguments (list - #:go go-1.23 #:import-path "github.com/kamstrup/intmap")) (home-page "https://github.com/kamstrup/intmap") (synopsis "Fast hashmap with integer keys for Golang") @@ -10918,6 +12025,32 @@ resources located relative to the executable file.") "This package provides a simple way to create a system service.") (license license:zlib))) +(define-public go-github-com-karpeleslab-reflink + (package + (name "go-github-com-karpeleslab-reflink") + (version "1.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KarpelesLab/reflink") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16x01ff1w4xcdl41iicsrsxpk4ba6xf1g1hlq3qx1f098k4s3nci")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/KarpelesLab/reflink")) + (propagated-inputs + (list go-golang-org-x-sys)) + (home-page "https://github.com/KarpelesLab/reflink") + (synopsis "Reflink file copy in Golang") + (description + "This package implements a functionality to perform efficient file copies +using reflink operations on compatible filesystems such as btrfs and xfs.") + (license license:expat))) + (define-public go-github-com-karrick-godirwalk (package (name "go-github-com-karrick-godirwalk") @@ -10934,6 +12067,7 @@ resources located relative to the executable file.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/karrick/godirwalk")) ;; To build all examples as a test scenario. (native-inputs @@ -11054,7 +12188,7 @@ word-splitting rules.") (define-public go-github-com-kevinburke-ssh-config (package (name "go-github-com-kevinburke-ssh-config") - (version "1.2.0") + (version "1.3") (source (origin (method git-fetch) @@ -11063,7 +12197,7 @@ word-splitting rules.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0jvv3i0g8ll210xlbxy8ywj09gab0im676rmnywh3wlpdhxdkbjd")))) + (base32 "1m8nagaylwrgy9yfqr5x6p1zdsnrfy4km7pgv58iqdmmd5l6v73a")))) (arguments (list #:import-path "github.com/kevinburke/ssh_config")) @@ -11356,8 +12490,8 @@ very eas to use.") (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"))))))) + (with-directory-excursion (string-append "src/" import-path "/_gen") + (invoke "go" "generate" "-v" "-n"))))))) (propagated-inputs (list go-github-com-klauspost-cpuid-v2)) (home-page "https://github.com/klauspost/reedsolomon") (synopsis "Reed-Solomon algorithm implementation in Golang") @@ -11728,6 +12862,35 @@ representation suitable for computing diffs.") @end itemize") (license license:expat))) +(define-public go-github-com-landlock-lsm-go-landlock + (package + (name "go-github-com-landlock-lsm-go-landlock") + (version "0.0.0-20250303204525-1544bccde3a3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/landlock-lsm/go-landlock") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00qis8gg2ajyph9jyrjghm6cn0h22pwjwdp6qa22ji6jslgnm02n")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/landlock-lsm/go-landlock")) + (propagated-inputs + (list go-golang-org-x-sys + go-kernel-org-pub-linux-libs-security-libcap-psx)) + (home-page "https://landlock.io/") + (synopsis "Golang library for the Linux Landlock sandboxing feature") + (description + "This package implements a restriction for the current processes' ability +to use files, using Linux 5.13's +@url{https://docs.kernel.org/security/landlock.html, Landlock} feature.") + (license license:expat))) + (define-public go-github-com-lann-builder (package (name "go-github-com-lann-builder") @@ -11798,6 +12961,7 @@ structure. It's a stable fork of https://github.com/mndrix/ps.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "layeh.com/gopher-luar")) (propagated-inputs (list go-github-com-yuin-gopher-lua)) (home-page "https://github.com/layeh/gopher-luar") @@ -11836,7 +13000,7 @@ specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.") (define-public go-github-com-leonelquinteros-gotext (package (name "go-github-com-leonelquinteros-gotext") - (version "1.7.0") + (version "1.7.2") (source (origin (method git-fetch) @@ -11845,14 +13009,14 @@ specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ccls9xzbbrbrplbikz18lcky5p5rmifif6w69l5rl34dv11948m")))) + (base32 "098iizlr05xj16b2mxwpa8bmcfm3fnlhm8a13kdzmw9dz11jjsm9")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/leonelquinteros/gotext")) (propagated-inputs - (list go-golang-org-x-text - go-golang-org-x-tools)) + (list go-golang-org-x-tools)) (home-page "https://github.com/leonelquinteros/gotext") (synopsis "GNU gettext utilities in Go") (description @@ -11874,6 +13038,69 @@ the first isn't available. @end itemize") (license license:expat))) +(define-public go-github-com-lestrrat-go-backoff-v2 + (package + (name "go-github-com-lestrrat-go-backoff-v2") + (version "2.0.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lestrrat-go/backoff") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1s939szsdv0ggp69rig8dkl74s5dvwzm5cw80h0b3dvkqhikim5d")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lestrrat-go/backoff" + #: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 "/bench"))))))) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-lestrrat-go-option)) + (home-page "https://github.com/lestrrat-go/backoff") + (synopsis "Idiomatic backoff for Golang") + (description + "This library is an implementation of +@url{https://en.wikipedia.org/wiki/Exponential_backoff, backoff algorithm} for +retrying operations. It respects @code{context.Context} natively, and the +critical notifications are done through channel operations, allowing you to +write code that is both more explicit and flexibile.") + (license license:expat))) + +(define-public go-github-com-lestrrat-go-blackmagic + (package + (name "go-github-com-lestrrat-go-blackmagic") + (version "1.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lestrrat-go/blackmagic") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vyij1wnsh85vqi70sq0kgwrnx4zrn4yx8nk5lqd630g1akqwr8y")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lestrrat-go/blackmagic")) + (native-inputs (list go-github-com-stretchr-testify)) + (home-page "https://github.com/lestrrat-go/blackmagic") + (synopsis "Reflect-based black magic for Golang") + (description + ;; XXX: REAMDE lacks of any description at all, code not documented + ;; either. + "This package implements a reflect-based black magic for Go.") + (license license:expat))) + (define-public go-github-com-lestrrat-go-envload (package (name "go-github-com-lestrrat-go-envload") @@ -11902,6 +13129,94 @@ or during the tests temporarily change the value of an environment variable in Golang.") (license license:expat))) +(define-public go-github-com-lestrrat-go-iter + (package + (name "go-github-com-lestrrat-go-iter") + (version "1.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lestrrat-go/iter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1p5fhw5g3kh7c6hvw2mc1r4ckxb3ax262x8b736yyhpv2ynl8jyz")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/lestrrat-go/iter")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/lestrrat-go/iter") + (synopsis "Iterator for arbitrary array and map types for Golang") + (description + "This package provides a set of utilities to safely iterate over +arbitrary array and maps types.") + (license license:expat))) + +(define-public go-github-com-lestrrat-go-option + (package + (name "go-github-com-lestrrat-go-option") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lestrrat-go/option") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0p9744hpdxsnimha5i0gyn7hxn2fy3dxqhlpqvj5s3pc5xv3s14h")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/lestrrat-go/option/cmd/genoptions + (delete-file-recursively "cmd/genoptions"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lestrrat-go/option")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-lestrrat-go-blackmagic)) + (home-page "https://github.com/lestrrat-go/option") + (synopsis "Base option type for Go") + (description + "This package provides a Golang implementation of the Base object for the +\"Optional Parameters Pattern\".") + (license license:expat))) + +(define-public go-github-com-lestrrat-go-option-v2 + (package + (inherit go-github-com-lestrrat-go-option) + (name "go-github-com-lestrrat-go-option-v2") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lestrrat-go/option") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07w19iwqna9zml1x3zsrnm8dzq07kbwd3isf31293rm5i73rkmwq")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/lestrrat-go/option/cmd/genoptions + (delete-file-recursively "cmd/genoptions"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lestrrat-go/option/v2")))) + (define-public go-github-com-lestrrat-go-strftime (package (name "go-github-com-lestrrat-go-strftime") @@ -12332,7 +13647,7 @@ generation.") (define-public go-github-com-magiconair-properties (package (name "go-github-com-magiconair-properties") - (version "1.8.9") + (version "1.8.10") (source (origin (method git-fetch) @@ -12341,10 +13656,11 @@ generation.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "05nkgdzl393505arq6hf1wxjxs2iaqkc88v5cy1s068abpl65xy0")))) + (base32 "1cmbh9y51lbn2q2i2jzjfd14spwclg88hfsj4k1kkj1xc2bkwqdj")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/magiconair/properties")) (home-page "https://github.com/magiconair/properties") (synopsis "Java properties scanner for Go") @@ -12367,6 +13683,7 @@ generation.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/MakeNowJust/heredoc")) (home-page "https://github.com/MakeNowJust/heredoc") (synopsis "Here-documents with indent") @@ -12375,6 +13692,24 @@ generation.") raw strings.") (license license:expat))) +(define-public go-github-com-makenowjust-heredoc-v2 + (package + (inherit go-github-com-makenowjust-heredoc) + (name "go-github-com-makenowjust-heredoc-v2") + (version "2.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/makenowjust/heredoc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1k4ggh0dkz3919m7gy2avhj0drjxrcvm01a5dgsc3z971yk6h5xw")))) + (arguments + (list + #:import-path "github.com/MakeNowJust/heredoc/v2")))) + (define-public go-github-com-marcinbor85-gohex ;; No release, see <https://github.com/marcinbor85/gohex/issues/5>. (let ((commit "baab2527a9a2a4abb3dc06baabedfa5e0268b8d8") @@ -12426,6 +13761,7 @@ implementing features like: (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/Masterminds/goutils")) (home-page "https://github.com/Masterminds/goutils/") (synopsis "Utility functions to manipulate strings") @@ -12709,14 +14045,16 @@ string.") "0l0l5s4hlsrm4z6hygig2pp1qirk5ycrzn9z27ay3yvg9k7zafzx")))) (build-system go-build-system) (arguments - `(#:import-path "github.com/mattn/go-shellwords" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-sh-path - (lambda* (#:key import-path #:allow-other-keys) - (substitute* (string-append - "src/" import-path "/util_posix.go") - (("/bin/sh") (which "sh")))))))) + (list + #:go go-1.23 + #:import-path "github.com/mattn/go-shellwords" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-sh-path + (lambda* (#:key import-path #:allow-other-keys) + (substitute* (string-append + "src/" import-path "/util_posix.go") + (("/bin/sh") (which "sh")))))))) (home-page "https://github.com/mattn/go-shellwords") (synopsis "Parse lines into shell words") (description "This package parses text into shell arguments. Based on @@ -13118,6 +14456,30 @@ the current user without cgo. This library does that, enabling cross-compilation.") (license license:expat))) +(define-public go-github-com-mitchellh-go-ps + (package + (name "go-github-com-mitchellh-go-ps") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitchellh/go-ps") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ipcbz66x7q8xczi7cyfq06y7n7v0syvkp730vn9jrn7s8f5ag0z")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/mitchellh/go-ps")) + (home-page "https://github.com/mitchellh/go-ps") + (synopsis "Process List Library for Golang") + (description + "This package provides an API for finding and listing processes in a +platform-agnostic way.") + (license license:expat))) + (define-public go-github-com-mitchellh-go-wordwrap (package (name "go-github-com-mitchellh-go-wordwrap") @@ -13271,6 +14633,116 @@ parsing.") "This directory contains documents about Docker Image Specification v1.X.") (license license:asl2.0))) +(define-public go-github-com-moby-locker + (package + (name "go-github-com-moby-locker") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moby/locker") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07rc2c6h35f9mcy81jp382a030f6xmcifi9n5jnlayybfwxmpjir")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/moby/locker")) + (home-page "https://github.com/moby/locker") + (synopsis "Golang std @code{sync.Mutex} locker alternative") + (description + "Package locker provides a mechanism for creating finer-grained locking +to help free up more global locks to handle other tasks.") + (license license:asl2.0))) + +(define-public go-github-com-moby-patternmatcher + (package + (name "go-github-com-moby-patternmatcher") + (version "0.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moby/patternmatcher") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1s77wpsc6szr9qdpnpg9q65ibgjgj4b2d12hwf6wrwb39grcnbcz")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/moby/patternmatcher")) + (home-page "https://github.com/moby/patternmatcher") + (synopsis "File name pattern matching") + (description + "This Go library provides facilities for pattern matching on file +names.") + (license license:asl2.0))) + +(define-public go-github-com-moby-spdystream + (package + (name "go-github-com-moby-spdystream") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moby/spdystream") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0p5pwwspmp24ff900656fyvrgdz8xxl6y0dk9fqgcaaaylmw0v9g")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/moby/spdystream")) + (home-page "https://github.com/moby/spdystream") + (synopsis "Multiplexed streams for Golang") + (description + "This package provides a multiplexed stream library using spdy.") + (license license:asl2.0))) + +(define-public go-github-com-moby-sys-atomicwriter + (package + (name "go-github-com-moby-sys-atomicwriter") + (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 "atomicwriter")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0an8ypp8v9gfxbbb71mpimb1g9labl4v7lgazcphysn6c5smgmiw")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + #~(begin + (define (delete-all-but directory . preserve) + (with-directory-excursion directory + (let* ((pred (negate (cut member <> + (cons* "." ".." preserve)))) + (items (scandir "." pred))) + (for-each (cut delete-file-recursively <>) items)))) + (delete-all-but "." "atomicwriter"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/moby/sys/atomicwriter" + #:unpack-path "github.com/moby/sys")) + (propagated-inputs (list go-github-com-moby-sys-sequential)) + (home-page "https://github.com/moby/sys") + (synopsis "File atomic write utilities") + (description + "This package provides utilities to perform atomic writes to a file or +set of files.") + (license license:asl2.0))) + (define-public go-github-com-moby-sys-capability (package (name "go-github-com-moby-sys-capability") @@ -13298,6 +14770,46 @@ capabilities. It's a maintained fork of https://github.com/syndtr/gocapability.") (license license:bsd-2))) +(define-public go-github-com-moby-sys-mount + (package + (name "go-github-com-moby-sys-mount") + (version "0.3.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moby/sys") + (commit (go-version->git-ref version + #:subdir "mount")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nh1disclgydvq7k10awzks6k8kw9cjj3q19f83ksi4b76p5l475")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + #~(begin + (define (delete-all-but directory . preserve) + (with-directory-excursion directory + (let* ((pred (negate (cut member <> + (cons* "." ".." preserve)))) + (items (scandir "." pred))) + (for-each (cut delete-file-recursively <>) items)))) + (delete-all-but "." "mount"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/moby/sys/mount" + #:unpack-path "github.com/moby/sys")) + (propagated-inputs + (list go-github-com-moby-sys-mountinfo + go-golang-org-x-sys)) + (home-page "https://github.com/moby/sys") + (synopsis "Mount/unmount functions in Golang") + (description + "This package provides a set of functions to mount and unmount mounts.") + (license license:asl2.0))) + (define-public go-github-com-moby-sys-mountinfo (package (name "go-github-com-moby-sys-mountinfo") @@ -13315,6 +14827,7 @@ https://github.com/syndtr/gocapability.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/moby/sys/mountinfo" #:unpack-path "github.com/moby/sys" #:test-flags @@ -13331,28 +14844,31 @@ 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-patternmatcher +(define-public go-github-com-moby-sys-reexec (package - (name "go-github-com-moby-patternmatcher") - (version "0.6.0") + (name "go-github-com-moby-sys-reexec") + (version "0.1.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/moby/patternmatcher") - (commit (string-append "v" version)))) + (url "https://github.com/moby/sys") + (commit (go-version->git-ref version + #:subdir "reexec")))) (file-name (git-file-name name version)) (sha256 - (base32 "1s77wpsc6szr9qdpnpg9q65ibgjgj4b2d12hwf6wrwb39grcnbcz")))) + (base32 "1n2z0zqfdyw6rllqdljddczh758kq22k4ajrhv27shv7m3fnvm0p")))) (build-system go-build-system) (arguments (list - #:import-path "github.com/moby/patternmatcher")) - (home-page "https://github.com/moby/patternmatcher") - (synopsis "File name pattern matching") + #:import-path "github.com/moby/sys/reexec" + #:unpack-path "github.com/moby/sys")) + (home-page "https://github.com/moby/sys") + (synopsis "BusyBox style reexec of a binary for Golang") (description - "This Go library provides facilities for pattern matching on file -names.") + "This package facilitates the BusyBox style reexec of a binary. +Handlers can be registered with a name and the argv 0 of the exec of the +binary will be used to find and execute custom init paths.") (license license:asl2.0))) (define-public go-github-com-moby-sys-sequential @@ -13382,10 +14898,71 @@ names.") Windows.") (license license:asl2.0))) +(define-public go-github-com-moby-sys-signal + (package + (name "go-github-com-moby-sys-signal") + (version "0.7.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moby/sys") + (commit (go-version->git-ref version + #:subdir "signal")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1i1phx1kk9qa4jf1i1nl23d3f6k9fn2w46274cl76cqw9hjqg868")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/moby/sys/signal" + #:unpack-path "github.com/moby/sys")) + (propagated-inputs (list go-golang-org-x-sys)) + (home-page "https://github.com/moby/sys") + (synopsis "Helper functions for dealing with OS signals") + (description + "This provides helper functions for dealing with signals across various +operating systems.") + (license license:asl2.0))) + +(define-public go-github-com-moby-sys-symlink + (package + (name "go-github-com-moby-sys-symlink") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moby/sys") + (commit (go-version->git-ref version + #:subdir "symlink")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1i1phx1kk9qa4jf1i1nl23d3f6k9fn2w46274cl76cqw9hjqg868")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/moby/sys/symlink" + #:unpack-path "github.com/moby/sys")) + (propagated-inputs + (list go-golang-org-x-sys)) + (home-page "https://github.com/moby/sys") + (synopsis "Extension of Golang's @code{path/filepath} library") + (description + "This package implements @code{FollowSymlinkInScope} which is an + extension of @code{path/filepath.EvalSymlinks}, as well as a Windows +long-path aware version of @code{path/filepath.EvalSymlinks} from the Go +standard library.") + ;; The code from [path/filepath.EvalSymlinks] has been adapted in fs.go. + ;; Read the [LICENSE.BSD] file that governs fs.go and [LICENSE.APACHE] for + ;; fs_unix_test.go. + (license (list license:asl2.0 + license:bsd-3)))) + (define-public go-github-com-moby-sys-user (package (name "go-github-com-moby-sys-user") - (version "0.3.0") + (version "0.4.0") (source (origin (method git-fetch) @@ -13395,7 +14972,7 @@ Windows.") #:subdir "user")))) (file-name (git-file-name name version)) (sha256 - (base32 "1clr9x412gr1cq3jxf9lxblh9pkf8c42gz57wr14miy0nqsimx7j")))) + (base32 "1ayv2f12za923fzyf6j4d39l54xwaijbq0xfrlfdb8xsif4nlfnb")))) (build-system go-build-system) (arguments (list @@ -13535,6 +15112,51 @@ 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-monochromegane-go-gitignore + (package + (name "go-github-com-monochromegane-go-gitignore") + (version "0.0.0-20200626010858-205db1a8cc00") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/monochromegane/go-gitignore") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rawqsxi6n0nwl34nc4jda7drnwfli9v4zkhf60qhl6lcipj0lwg")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/monochromegane/go-gitignore")) + (home-page "https://github.com/monochromegane/go-gitignore") + (synopsis "Gitignore matching library for Golang") + (description + "This package provides a fast gitignore matching library for Go.") + (license license:expat))) + +(define-public go-github-com-morikuni-aec + (package + (name "go-github-com-morikuni-aec") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/morikuni/aec") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qaqh0lk9wrqgff0yrxnbznvmwyhdxy3g9b2hjpazp5bw4nj0dp7")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/morikuni/aec")) + (home-page "https://github.com/morikuni/aec") + (synopsis "Go wrapper for ANSI escape code") + (description "This package provides a wrapper for ANSI escape code.") + (license license:expat))) + (define-public go-github-com-motemen-go-colorine (package (name "go-github-com-motemen-go-colorine") @@ -13779,6 +15401,7 @@ Authentication Modules, PAM} application API.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/muesli/cancelreader")) (propagated-inputs (list go-golang-org-x-sys)) @@ -14092,6 +15715,31 @@ multibase} (self identifying base encodings) in Go.") varints.") (license license:expat))) +(define-public go-github-com-mxk-go-flowrate + (package + (name "go-github-com-mxk-go-flowrate") + (version "0.0.0-20140419014527-cca7078d478f") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mxk/go-flowrate") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zqs39923ja0yypdmiqk6x8pgmfs3ms5x5sl1dqv9z6zyx2xy541")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/mxk/go-flowrate")) + (home-page "https://github.com/mxk/go-flowrate") + (synopsis "Limiting and monitoring data flow rate in Golang") + (description + "This package provides the tools for monitoring and limiting the flow +rate of an arbitrary data stream.") + (license license:bsd-3))) + (define-public go-github-com-nakagami-firebirdsql (package (name "go-github-com-nakagami-firebirdsql") @@ -14126,6 +15774,30 @@ varints.") @url{https://firebirdsql.org/, Firebird} RDBMS.") (license license:expat))) +(define-public go-github-com-natefinch-atomic + (package + (name "go-github-com-natefinch-atomic") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/natefinch/atomic") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0y1hr9smjfwp3zgn8s9njp84x9m42x3a7f1h2q7qyd0i5hf9bcvx")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/natefinch/atomic")) + (home-page "https://github.com/natefinch/atomic") + (synopsis "Atomic file writing in Golang") + (description + "This package provides functions to atomically change files, by writing +first to a temp file, and then overwriting the target file in an atomic way.") + (license license:expat))) + (define-public go-github-com-nathan-osman-go-sunrise (package (name "go-github-com-nathan-osman-go-sunrise") @@ -14283,10 +15955,69 @@ through it's psuedoterminal.") list of sentences.") (license license:expat))) +(define-public go-github-com-nicksnyder-go-i18n-v2 + (package + (name "go-github-com-nicksnyder-go-i18n-v2") + (version "2.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nicksnyder/go-i18n") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14v4v06j30rsn2y8lss7j5qyfbr7wir7yzpjd8wqh279aq489d2j")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/nicksnyder/go-i18n/v2" + ;; One test fails with error: open active.en.toml: permission denied. + #:test-flags #~(list "-skip" "TestMain/extract"))) + (propagated-inputs + (list go-github-com-burntsushi-toml + go-golang-org-x-text + go-gopkg-in-yaml-v3)) + (home-page "https://github.com/nicksnyder/go-i18n") + (synopsis "Internationalization and localization for Golang") + (description + "This package provides support for implementing internationalization and +localization of Go code, covering pluralized strings for all 200+ languages in +@acronym{CLDR, Unicode Common Locale Data Repository}.") + (license license:expat))) + +(define-public go-github-com-nightlyone-lockfile + (package + (name "go-github-com-nightlyone-lockfile") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nightlyone/lockfile") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "092r6gv27khplc3srg2ai7214hnvpms6klnsl66x49mspq10b7l5")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/nightlyone/lockfile")) + (home-page "https://github.com/nightlyone/lockfile") + (synopsis " Handle locking via pid files ") + (description + "Package lockfile handles pid file based locking. While a +@code{sync.Mutex} helps against concurrency issues within a single process, +this package is designed to help against concurrency issues between +cooperating processes or serializing multiple invocations of the same +process.") + (license license:expat))) + (define-public go-github-com-niklasfasching-go-org (package (name "go-github-com-niklasfasching-go-org") - (version "1.7.0") + (version "1.9.1") (source (origin (method git-fetch) @@ -14295,12 +16026,16 @@ list of sentences.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "100ay19a7my2m1za1ih0wvqxf5mq77byas1f23mx69qsbp391w04")))) + (base32 "154c7vx5fmww1wf5hvmijw8a0sn1inm6j54vl9qdybd427xmrhjm")))) (build-system go-build-system) (arguments (list #:embed-files #~(list ".*\\.xml") - #:import-path "github.com/niklasfasching/go-org")) + #:import-path "github.com/niklasfasching/go-org" + ;; PublicDir hashes do not match for testdata/public/about.html: + ;; 'ce7dde7ff21d19e562c00553cfae3b2d' -> + ;; 'ac8849c0b32ce36c5cf0843bceb3a167' + #:test-flags #~(list "-skip" "TestBlorg"))) (propagated-inputs (list go-golang-org-x-net go-github-com-pmezard-go-difflib @@ -14329,6 +16064,7 @@ pretty printed rendering in Golang.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:skip-build? #t #:import-path "github.com/nlpodyssey/spago")) (native-inputs @@ -14459,6 +16195,32 @@ NSQ protocol @url{https://nsq.io/}.") ;; found in the LICENSE file. (license license:bsd-0))) +(define-public go-github-com-nwidger-jsoncolor + (package + (name "go-github-com-nwidger-jsoncolor") + (version "0.3.2") + (home-page "https://github.com/nwidger/jsoncolor") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rxb6r40c9jjbvzwfnwc3la53acnizkdsgca8p512s4by180zg49")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/nwidger/jsoncolor")) + (native-inputs + (list go-github-com-fatih-color)) + (synopsis "Colorized JSON marshalling and encoding") + (description + "@code{jsoncolor} is a drop-in replacement for @code{encoding/json}'s +@code{Marshal} and @code{MarshalIndent} functions and @code{Encoder} type +which produce colorized output using github.com/fatih/color.") + (license license:expat))) + (define-public go-github-com-nxadm-tail (package (name "go-github-com-nxadm-tail") @@ -14478,6 +16240,7 @@ NSQ protocol @url{https://nsq.io/}.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/nxadm/tail")) (propagated-inputs (list go-github-com-fsnotify-fsnotify @@ -14578,10 +16341,66 @@ millisecond) (list #:import-path "github.com/oklog/ulid/v2")))) +(define-public go-github-com-olekukonko-errors + (package + (name "go-github-com-olekukonko-errors") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/olekukonko/errors") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12wb02aa4pmd1dl34jczcf12v0bv7kh6qfp8zqmw0hsnh6kdp3i4")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/olekukonko/errors")) + (home-page "https://github.com/olekukonko/errors") + (synopsis "Enhanced Error Handling for Golang") + (description + "Package errors provides a robust error handling library with support for +error wrapping, stack traces, context storage, and retry mechanisms. It +extends the standard library's error interface with features like HTTP-like +status codes, error categorization, and JSON serialization, while maintaining +compatibility with `errors.Is`, `errors.As`, and `errors.Unwrap`. The package +is thread-safe and optimized with object pooling for performance.") + (license license:expat))) + +(define-public go-github-com-olekukonko-ll + (package + (name "go-github-com-olekukonko-ll") + (version "0.0.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/olekukonko/ll") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c3f0vqg5fpyqmz86xlgf8sjv9jgbxc3i9ackmdk9xnhjx9mxac9")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/olekukonko/ll")) + (home-page "https://github.com/olekukonko/ll") + (synopsis "Structured Logging Library for Golang") + (description + "@code{ll} is a high-performance, production-ready logging library for Go, +designed to provide @strong{hierarchical namespaces}, @strong{structured +logging}, @strong{middleware pipelines}, @strong{conditional logging}, and +support for multiple output formats, including text, JSON, colorized logs, and +compatibility with Go’s @code{slog}. It’s ideal for applications requiring +fine-grained log control, extensibility, and scalability.") + (license license:expat))) + (define-public go-github-com-olekukonko-tablewriter (package (name "go-github-com-olekukonko-tablewriter") - (version "0.0.5") + (version "1.0.9") (source (origin (method git-fetch) @@ -14590,13 +16409,21 @@ millisecond) (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0zhnrih2px6jm8nxzkz8s7va3lj03bzwxim8wjba9zh7i78bp67z")))) + (base32 "13qkanznaq2wadb24rskf0p76wkd84qbxd5lavysnq57ip4pm0fd")))) (build-system go-build-system) (arguments (list - #:import-path "github.com/olekukonko/tablewriter")) + #:import-path "github.com/olekukonko/tablewriter" + ;; XXX: wrap_test.go:38:12: non-constant format string in call to + ;; (*testing.common).Errorf + #:test-flags #~(list "-vet=off"))) + (native-inputs + (list go-github-com-olekukonko-ts)) ; for CLI <cmd/csv2table> (propagated-inputs - (list go-github-com-mattn-go-runewidth)) + (list go-github-com-fatih-color + go-github-com-mattn-go-runewidth + go-github-com-olekukonko-errors + go-github-com-olekukonko-ll)) (home-page "https://github.com/olekukonko/tablewriter/") (synopsis "Generate ASCII table") (description "This package generates ASCII tables. Features: @@ -14619,6 +16446,22 @@ millisecond) @end itemize") (license license:expat))) +(define-public go-github-com-olekukonko-tablewriter-0.0.5 + ;; XXX: Pinned older version as upstream did not migrated to the latest one, + ;; remove it when no longer required. + (hidden-package (package (inherit go-github-com-olekukonko-tablewriter) + (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"))))))) + (define-public go-github-com-olekukonko-ts (package (name "go-github-com-olekukonko-ts") @@ -14687,7 +16530,6 @@ levels per backend and logger.") (build-system go-build-system) (arguments (list - #:go go-1.24 #:import-path "github.com/opencontainers/cgroups" #:test-flags ;; Tests requiring root access to /sys/fs/cgroup. @@ -14717,6 +16559,24 @@ levels per backend and logger.") information for all OCI projects.") (license license:asl2.0))) +;; For runc@1.3.0, remove when a fresh version is released. +(define-public go-github-com-opencontainers-cgroups-0.0.1 + (hidden-package + (package + (inherit go-github-com-opencontainers-cgroups) + (name "go-github-com-opencontainers-cgroups") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/opencontainers/cgroups") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "173izkgmh33chamkn099gkvz914k726hbv8xhf0xl1rcrv335sa5"))))))) + (define-public go-github-com-opencontainers-go-digest (package (name "go-github-com-opencontainers-go-digest") @@ -14774,6 +16634,30 @@ digests with little effort.") container image format spec (OCI Image Format).") (license license:asl2.0))) +;; For umoci@1.5.0, remove when a fresh version is released. +(define-public go-github-com-opencontainers-image-spec-1.0.2 + (hidden-package + (package + (inherit go-github-com-opencontainers-image-spec) + (name "go-github-com-opencontainers-image-spec") + (version "1.0.2") + (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 "1wcw1z39wjx338406ga86a41f5ird0yc4ab3c70nfhkpkvjjzhkm")))) + (arguments + (list #:skip-build? #t + #:tests? #f + #:import-path "github.com/opencontainers/image-spec")) + (propagated-inputs + (list go-github-com-pkg-errors))))) + (define-public go-github-com-opencontainers-runc (package (name "go-github-com-opencontainers-runc") @@ -14793,7 +16677,6 @@ container image format spec (OCI Image Format).") (build-system go-build-system) (arguments (list - #:go go-1.24 #:import-path "github.com/opencontainers/runc" ;; Most tests require additinoal set up and downloading images from ;; Internet. @@ -14865,6 +16748,60 @@ containers on Linux according to the OCI specification.") specification-runtime-spec.") (license license:asl2.0))) +(define-public go-github-com-opencontainers-runtime-tools + (package + (name "go-github-com-opencontainers-runtime-tools") + (version "0.9.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/opencontainers/runtime-tools") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pli3jb1rq9lkzzz83f7jw788vijg7x6ly3vgasdlwri7kiph1sa")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "vendor"))))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + ;; XXX: See: <https://github.com/opencontainers/runtime-tools/issues/792>. + #:tests? #f + #:import-path "github.com/opencontainers/runtime-tools" + #:build-flags + #~(list (format #f "-ldflags=-X ~s" + (string-append "main.version=" #$version))) + #:test-flags + #~(list "-vet=off" + ;; Network is required. + "-skip" "TestGenerateValid|TestJSONSchema"))) + (native-inputs + (list go-github-com-mndrix-tap-go + go-github-com-stretchr-testify + go-github-com-urfave-cli)) + (propagated-inputs + (list go-github-com-blang-semver + go-github-com-hashicorp-go-multierror + go-github-com-mrunalp-fileutils + go-github-com-opencontainers-runtime-spec + go-github-com-opencontainers-selinux + go-github-com-satori-go-uuid + go-github-com-sirupsen-logrus + go-github-com-syndtr-gocapability + go-github-com-xeipuuv-gojsonschema + go-golang-org-x-sys)) + (home-page "https://github.com/opencontainers/runtime-tools") + (synopsis "OCI Runtime Tools") + (description + "This package provides a collection of tools for working with the +@url{https://github.com/opencontainers/runtime-spec, OCI runtime +specification}. To build from source code, runtime-tools requires Go 1.10.x +or above.") + (license license:asl2.0))) + (define-public go-github-com-opencontainers-selinux (package (name "go-github-com-opencontainers-selinux") @@ -14909,7 +16846,6 @@ specification-runtime-spec.") (build-system go-build-system) (arguments (list - #:go go-1.24 #:import-path "github.com/opencontainers/umoci" ;; convert spec to rootless: inspecting mount flags of /etc/resolv.conf: ;; no such file or directory @@ -15075,6 +17011,7 @@ composable way such that accurate error can be reasoned about.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/orisano/pixelmatch")) (home-page "https://github.com/orisano/pixelmatch") (synopsis "Pixelmatch port to Go") @@ -15259,6 +17196,7 @@ processes.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/pborman/getopt")) (home-page "https://github.com/pborman/getopt") (synopsis "Getopt style option parsing for Go") @@ -15283,9 +17221,10 @@ programs that use traditional command lines.") (base32 "0sacv6g8cxfibxd3gnfjnzp7fynrnc4s2aaz5wbxivqqhvflc22l")))) (build-system go-build-system) (arguments - (list - #:import-path "github.com/pborman/getopt/v2" - #:unpack-path "github.com/pborman/getopt")))) + (substitute-keyword-arguments + (package-arguments go-github-com-pborman-getopt) + ((#:import-path _) "github.com/pborman/getopt/v2") + ((#:unpack-path _ "") "github.com/pborman/getopt"))))) (define-public go-github-com-pborman-uuid (package @@ -15330,7 +17269,9 @@ package (which is based off an earlier version of this package).") (base32 "1wypjrr1axkrkzp4n5gvams94f2sd7dq1pdpd2i35sgpdz6r2m6g")))) (build-system go-build-system) (arguments - (list #:import-path "github.com/pelletier/go-toml")) + (list + #:go go-1.23 + #:import-path "github.com/pelletier/go-toml")) (propagated-inputs (list go-github-com-burntsushi-toml go-github-com-davecgh-go-spew @@ -15614,6 +17555,7 @@ on top of the standard library @code{flag} package.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/pingcap/errors" #:test-flags #~(list "-skip" (string-join @@ -15641,7 +17583,7 @@ alternative fork of https://github.com/pkg/errors project.") (define-public go-github-com-pion-logging (package (name "go-github-com-pion-logging") - (version "0.2.2") + (version "0.2.3") (source (origin (method git-fetch) @@ -15650,10 +17592,11 @@ alternative fork of https://github.com/pkg/errors project.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "11ay8c15xk3pv7y9nd80szk3mci480x67yqlgb10vswrz4h4mx3v")))) + (base32 "13c8pkn6nyhayjax77bcysmv9fsyb63gllk2ns880b3hgdcl2l1a")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/pion/logging")) (home-page "https://github.com/pion/logging/") (synopsis "Logging library for Golang projects") @@ -15678,6 +17621,7 @@ Pion}.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/pkg/diff")) (home-page "https://github.com/pkg/diff/") (synopsis "Create and print diffs") @@ -15767,6 +17711,7 @@ https://en.wikipedia.org/wiki/Extended_file_attributes}.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/pmezard/go-difflib/difflib" #:unpack-path "github.com/pmezard/go-difflib/")) (home-page "https://github.com/pmezard/go-difflib") @@ -15791,6 +17736,7 @@ https://en.wikipedia.org/wiki/Extended_file_attributes}.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/polydawn/refmt")) (propagated-inputs (list go-github-com-go-yaml-yaml @@ -15965,6 +17911,58 @@ 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-redis-go-redis-v9 + (package + (name "go-github-com-redis-go-redis-v9") + (version "9.13.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/redis/go-redis") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19scv5fbwacrbpv329w2a48z1w5wmxi7ax93bp1p398k4yqx6izf")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/redis/go-redis/extra/rediscensus/v9 + ;; - github.com/redis/go-redis/extra/rediscmd/v9 + ;; - github.com/redis/go-redis/extra/redisotel/v9 + ;; - github.com/redis/go-redis/extra/redisprometheus/v9 + ;; - github.com/redis/go-redis/internal/customvet + (delete-file-recursively "extra") + (delete-file-recursively "internal/customvet"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/redis/go-redis/v9" + #:test-flags + ;; Tests requir running Redis server. + #~(list "-skip" "Example|TestGinkgoSuite") + #: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"))))))) + (native-inputs + (list go-github-com-bsm-ginkgo-v2 + go-github-com-bsm-gomega)) + (propagated-inputs + (list go-github-com-cespare-xxhash-v2 + go-github-com-dgryski-go-rendezvous)) + (home-page "https://github.com/redis/go-redis") + (synopsis "Redis client for Golang") + (description + "go-redis is the official Redis client library for the Go programming +language. It offers a straightforward interface for interacting with Redis +servers.") + (license license:bsd-2))) + (define-public go-github-com-reiver-go-porterstemmer ;; The latest commit contain test fixtures. (let ((commit "ab0f922907ea0321367a5776bd7a6c35d505d53b") @@ -16284,7 +18282,6 @@ comments. (arguments (list #:skip-build? #t - #:go go-1.23 #:import-path "github.com/rogpeppe/go-internal" #:test-flags #~(list "-skip" "TestSimple/cover"))))) @@ -16392,7 +18389,9 @@ logging.") (sha256 (base32 "0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7")))) (arguments - (list #:import-path "github.com/russross/blackfriday/v2")))) + (list + #:go go-1.23 + #:import-path "github.com/russross/blackfriday/v2")))) (define-public go-github-com-rwcarlsen-goexif ;; No release or version tag, Golang pseudo version: @@ -16559,7 +18558,6 @@ Lodash}.") (build-system go-build-system) (arguments (list - #:go go-1.23 #:skip-build? #t #:import-path "github.com/SAP/go-hdb" ;; XXX: The most of the tests require access to database, run some @@ -16682,6 +18680,77 @@ specified in DCE 1.1).") configuration file.") (license license:isc))) +(define-public go-github-com-schollz-cli-v2 + ;; It's ad-hoc fork of <https://github.com/urfave/cli> to build + ;; <https://github.com/schollz/croc>. + (hidden-package + (package + (name "go-github-com-schollz-cli-v2") + (version "2.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/schollz/cli") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wlqfhsrfib4b5b5xlkmgwglpzajjabrf4wisp7q8nvnw9ky86jh")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/schollz/cli/v2" + #:test-flags + ;; panic: flag "--foo" begins with - [recovered] + ;; panic: flag "--foo" begins with - + #~(list "-skip" "TestApp_RunAsSubCommandIncorrectUsage|TestToMan"))) + (propagated-inputs + (list go-github-com-burntsushi-toml + go-github-com-cpuguy83-go-md2man-v2 + go-gopkg-in-yaml-v2)) + (home-page "https://github.com/schollz/cli") + (synopsis "Package for building command line apps in Golang") + (description + "Package @code{cli} provides a minimal framework for creating and +organizing command line Go applications.") + (license license:expat)))) + +(define-public go-github-com-schollz-logger + (package + (name "go-github-com-schollz-logger") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/schollz/logger") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1680348j54vwfx7sczygchrd9dabnycj3mpxg3fmpf9a356vd2af")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/schollz/logger" + ;; Go@1.24 forces vet, but tests are not ready yet. + #:test-flags #~(list "-vet=off"))) + (home-page "https://github.com/schollz/logger") + (synopsis "Simplistic, opinionated logging for Golang") + (description + "This package provides a opinionated logging for Golang. +Features: +@itemize +@item zero dependencies +@item Global logger (with optional local logger) +@item leveled +@item useful defaults / i.e. zero-config +@item simple API +@item colors on Linux +@item set leveling via environmental variables +@code{LOGGER=trace|debug|info|warn|error} +@end itemize") + (license license:expat))) + (define-public go-github-com-schollz-progressbar-v3 (package (name "go-github-com-schollz-progressbar-v3") @@ -16855,9 +18924,16 @@ and branchless algorithms shine.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:skip-build? #t #:import-path "github.com/segmentio/encoding" - #:test-flags #~(list "-skip" "TestUnmarshalFixture|TestDecodeFixture"))) + #:test-flags + #~(list "-skip" (string-join + (list "TestCodec/string#07" + "TestCodec/string#08" + "TestDecodeFixture" + "TestUnmarshalFixture") + "|")))) (propagated-inputs (list go-github-com-segmentio-asm)) (home-page "https://github.com/segmentio/encoding") @@ -17005,7 +19081,7 @@ sensors).") (package (inherit go-github-com-shirou-gopsutil) (name "go-github-com-shirou-gopsutil-v3") - (version "3.24.2") + (version "3.24.5") (source (origin (method git-fetch) @@ -17014,19 +19090,41 @@ sensors).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1xlfcx6giqaxdah2m02q2i8ynwlzar953wr8wqx1j3004xdgaivd")))) + (base32 "1r561fs7q2m0m03k8yrx3dpldjik3vbfjyfz0lz90zz0xvbavkxm")))) (arguments (list - #:import-path "github.com/shirou/gopsutil" - #:phases - #~(modify-phases %standard-phases - (add-before 'check 'remove-failing-tests - (lambda* (#:key import-path #:allow-other-keys) - (delete-file-recursively - ;; host_test.go tries to access files such as - ;; /var/run/utmp that do not exist in the build - ;; environment. - (string-append "src/" import-path "/host/host_test.go"))))))))) + #:import-path "github.com/shirou/gopsutil/v3" + ;; Two tests fail: + ;; 1. error open /var/run/utmp: no such file or directory + ;; 2. PlatformInformation() returns empty: + #:test-flags #~(list "-skip" "TestUsers|TestPlatformInformation"))))) + +(define-public go-github-com-shirou-gopsutil-v4 + (package + (inherit go-github-com-shirou-gopsutil-v3) + (name "go-github-com-shirou-gopsutil-v4") + (version "4.25.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/shirou/gopsutil") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q9125fpz4cw6mmxx7qa74qf3xq5x0nrraspfmwhlhdpabjag9lp")))) + (arguments + (list + #:import-path "github.com/shirou/gopsutil/v4" + ;; Three tests fail: + ;; [1] error open /var/run/utmp: no such file or directory + ;; [2] PlatformInformation() returns empty + ;; [3] Could not get temperature + #:test-flags #~(list "-skip" (string-join + (list "TestUsers" ;1 + "TestPlatformInformation" ;2 + "TestTemperatures") ;3 + "|")))))) (define-public go-github-com-shurcool-sanitized-anchor-name (package @@ -17186,6 +19284,7 @@ GNU/Linux, this is a proxy for the @command{xdg-open} command.") (build-system go-build-system) (arguments (list + #:go go-1.23 #: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") @@ -17405,7 +19504,7 @@ implementation.") (native-inputs (list go-gopkg-in-yaml-v3)) (propagated-inputs - (list go-github-com-go-md2man + (list go-github-com-cpuguy83-go-md2man-v2 go-github-com-spf13-pflag)) (home-page "https://github.com/spf13/cobra") (synopsis "Go library for creating CLI applications") @@ -17446,12 +19545,10 @@ a few advantages over using the standard log library alone. @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") + (version "1.0.6") (source (origin (method git-fetch) @@ -17460,19 +19557,11 @@ a few advantages over using the standard log library alone. (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\")")))))) + (base32 "0ckdaa5q3afhgx5hi45czxn2pcc5fd0sz4axh4hqxyvgsjfjvmg0")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/spf13/pflag")) (home-page "https://github.com/spf13/pflag") (synopsis "Replacement for Go's @code{flag} package") @@ -17633,7 +19722,9 @@ slices, JSON and other data.") (build-system go-build-system) (arguments (list - #:import-path "github.com/subosito/gotenv")) + #:go go-1.23 + #:import-path "github.com/subosito/gotenv" + #:test-flags #~(list "-skip" "TestScanner"))) (native-inputs (list go-github-com-stretchr-testify)) (propagated-inputs @@ -17708,6 +19799,37 @@ 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-gocapability + (package + (name "go-github-com-syndtr-gocapability") + (version "0.0.0-20200815063812-42c35b437635") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/syndtr/gocapability") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00zi0k190ydlm9drnafvj9p4cf6axm858wr71pbmq1p3r94iqws4")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/syndtr/gocapability" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'go-generate + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path + "/capability/enumgen") + (invoke "go" "generate" "-v" "-n"))))))) + (home-page "https://github.com/syndtr/gocapability") + (synopsis "Utilities for manipulating POSIX capabilities in Golang") + (description + "This package provides utilities for manipulating POSIX capabilities.") + (license license:bsd-2))) + (define-public go-github-com-syndtr-goleveldb (package (name "go-github-com-syndtr-goleveldb") @@ -17765,7 +19887,7 @@ storage system.") (define-public go-github-com-tdewolff-argp (package (name "go-github-com-tdewolff-argp") - (version "0.0.0-20240625173203-87b04d5d3e52") + (version "0.0.0-20250430135133-0f54527d2b1e") (source (origin (method git-fetch) @@ -17774,7 +19896,7 @@ storage system.") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0d2xqir997qrxkwmbb6pn5hgl9ii0nz19f19lrgc4ixjhxxjwyy5")))) + (base32 "06pjm6z0b21rjwwpq0b18mr7v2h7igf9rrv7zqlaadmv5i58cbh4")))) (build-system go-build-system) (arguments (list @@ -17784,7 +19906,8 @@ storage system.") (propagated-inputs (list go-github-com-go-sql-driver-mysql go-github-com-jmoiron-sqlx - go-github-com-pelletier-go-toml)) + go-github-com-pelletier-go-toml + go-gopkg-in-yaml-v3)) (home-page "https://github.com/tdewolff/argp") (synopsis "GNU command line argument parser") (description "Command line argument parser following the GNU standard.") @@ -18117,6 +20240,35 @@ readability, or to compact JSON for smaller payloads.") document.") (license license:expat))) +(define-public go-github-com-timshannon-bolthold + (package + (name "go-github-com-timshannon-bolthold") + (version "0.0.0-20240314194003-30aac6950928") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/timshannon/bolthold") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "107r4nwhvpdp0n9b5fls1lw8z8qsiajiykkpjs7947nrbc07ij1j")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/timshannon/bolthold" + ;; Test suite fails. + #:tests? #f)) + (propagated-inputs (list go-go-etcd-io-bbolt)) + (home-page "https://github.com/timshannon/bolthold") + (synopsis "Indexing and querying on top of a Bold database") + (description + "Package bolthold is an indexing and querying layer on top of a Bolt +database. The goal is to allow easy, persistent storage and retrieval of Go +types. BoltDB is an embedded key-value store, and bolthold servers a similar +use case however with a higher level interface for common uses of BoltDB.") + (license license:expat))) + (define-public go-github-com-tinylib-msgp (package (name "go-github-com-tinylib-msgp") @@ -18150,34 +20302,6 @@ serialize and de-serialize Go data structures to and from data interchange format - @url{https://en.wikipedia.org/wiki/MessagePack,MessagePack}.") (license license:expat))) -(define-public go-github-com-timshannon-bolthold - (package - (name "go-github-com-timshannon-bolthold") - (version "0.0.0-20240314194003-30aac6950928") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/timshannon/bolthold") - (commit (go-version->git-ref version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "107r4nwhvpdp0n9b5fls1lw8z8qsiajiykkpjs7947nrbc07ij1j")))) - (build-system go-build-system) - (arguments - (list - #:import-path "github.com/timshannon/bolthold" - ;; Test suite fails. - #:tests? #f)) - (propagated-inputs (list go-go-etcd-io-bbolt)) - (home-page "https://github.com/timshannon/bolthold") - (synopsis "Indexing and querying on top of a Bold database") - (description - "Package bolthold is an indexing and querying layer on top of a Bolt -database. The goal is to allow easy, persistent storage and retrieval of Go -types. BoltDB is an embedded key-value store, and bolthold servers a similar -use case however with a higher level interface for common uses of BoltDB.") - (license license:expat))) (define-public go-github-com-tj-go-buffer (package @@ -18347,7 +20471,6 @@ supported by the time package (build-system go-build-system) (arguments (list - #:go go-1.22 #:embed-files #~(list ".*\\.xml") #:import-path "github.com/tomwright/dasel/v2")) (propagated-inputs @@ -18538,7 +20661,7 @@ dependencies of @url{https://u-root.org/, u-root} project.") (list go-github-com-stretchr-testify)) (propagated-inputs (list go-github-com-burntsushi-toml - go-github-com-go-md2man + go-github-com-cpuguy83-go-md2man-v2 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") @@ -18573,10 +20696,74 @@ distributable command line applications in an expressive way.") (list #:import-path "github.com/urfave/cli/v2")) (propagated-inputs (list go-github-com-burntsushi-toml - go-github-com-go-md2man + go-github-com-cpuguy83-go-md2man-v2 go-github-com-xrash-smetrics go-gopkg-in-yaml-v3)))) +(define-public go-github-com-urfave-cli-v3 + (package + (inherit go-github-com-urfave-cli-v2) + (name "go-github-com-urfave-cli-v3") + (version "3.4.1") + (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 "1g8vk5wpx2vnb600ppkjh9j8aql0jgdgp5rrk06h92j7sx17fnfc")) + (modules '((guix build utils))) + (snippet #~(begin + ;; Submodules with their own go.mod files and packaged separately: + ;; + ;; - github.com/urfave/cli/docs/v3 + (delete-file-recursively "docs"))))) + (arguments + (list + #:import-path "github.com/urfave/cli/v3" + #:test-flags + #~(list "-vet=off"))) + (propagated-inputs '()))) + +(define-public go-github-com-urfave-cli-altsrc-v3 + (package + (name "go-github-com-urfave-cli-altsrc-v3") + (version "3.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/urfave/cli-altsrc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0nk1c31li7yijfa2p9s2723p5727ad3fl80dj6a5cwjg1qkbsl12")))) + (build-system go-build-system) + (arguments + (list + #:tests? #f ;tests need git in PATH + #:import-path "github.com/urfave/cli-altsrc/v3" + ;; Pattern autocomplete: cannot embed directory autocomplete: contains + ;; no embeddable files. + #:embed-files + #~(list "bash_autocomplete" + "powershell_autocomplete.ps1" + "zsh_autocomplete"))) + (native-inputs + (list go-github-com-stretchr-testify + go-github-com-urfave-cli-v3)) + (propagated-inputs + (list go-github-com-burntsushi-toml + go-gopkg-in-yaml-v3)) + (home-page "https://github.com/urfave/cli-altsrc") + (synopsis "Read values for urfave/cli/v3 flags from config files") + (description + "This package provides an extension for https://github.com/urfave/cli, to +read flag values from JSON, YAML, and TOML.") + (license license:expat))) + (define-public go-github-com-valyala-bytebufferpool (package (name "go-github-com-valyala-bytebufferpool") @@ -18601,6 +20788,29 @@ distributable command line applications in an expressive way.") anti-fragmentation protection.") (license license:expat))) +(define-public go-github-com-valyala-fastjson + (package + (name "go-github-com-valyala-fastjson") + (version "1.6.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/valyala/fastjson") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ly15rbdy9qmml39d8mazjvid3f13nhvj4v2zdlp13pn4gczdp3k")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/valyala/fastjson")) + (home-page "https://github.com/valyala/fastjson") + (synopsis "JSON parser and validator for Golang") + (description + "Package fastjson provides fast JSON parsing comparing to std @code{encoding/json}.") + (license license:expat))) + (define-public go-github-com-valyala-fasttemplate (package (name "go-github-com-valyala-fasttemplate") @@ -18669,7 +20879,7 @@ Go.") (define-public go-github-com-vburenin-ifacemaker (package (name "go-github-com-vburenin-ifacemaker") - (version "1.2.1") + (version "1.3.0") (source (origin (method git-fetch) @@ -18678,7 +20888,7 @@ Go.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "00031373i4xqrsaf7yv93czfmcf5qzn94mmqwamyjd6gpq37p1hl")))) + (base32 "00i3kxyk9mp3ph2kq8qv2572w9czcizgv41j9ayasi0z9x0zk131")))) (build-system go-build-system) (arguments (list @@ -18810,7 +21020,7 @@ datastore connectivity and testing (viant/dsc, viant/dsunit).") (define-public go-github-com-viant-xunsafe (package (name "go-github-com-viant-xunsafe") - (version "0.9.4") + (version "0.10.3") (source (origin (method git-fetch) @@ -18819,10 +21029,11 @@ datastore connectivity and testing (viant/dsc, viant/dsunit).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ddf9grf7rczik9rzwmz10xagn65sn1n7mhkp7app0d3nc3xdlgs")))) + (base32 "0q9zqz6p8spf7nq9r75yv9zizxf80mg0i6w0y9a0qxcgpnji0a3z")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/viant/xunsafe")) (native-inputs (list go-github-com-stretchr-testify)) @@ -18935,6 +21146,7 @@ weighted moving averages}.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/vmihailenco/msgpack/v4")) (native-inputs (list go-gopkg-in-check-v1)) @@ -19094,6 +21306,7 @@ Redis.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/warpfork/go-fsx")) (home-page "https://github.com/warpfork/go-fsx") (synopsis "Extended filesystem interface for Golang") @@ -19711,6 +21924,7 @@ common sequence} values from two arbitrary arrays.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "github.com/yuin/gopher-lua" #:phases #~(modify-phases %standard-phases @@ -19853,6 +22067,30 @@ configuration languages, but other uses may be possible too.") utilities for cty Golang module.") (license license:expat))) +(define-public go-github-com-zclconf-go-cty-yaml + (package + (name "go-github-com-zclconf-go-cty-yaml") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zclconf/go-cty-yaml") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wwfwrf77rwxi39ln8mhdwg2d2znqz109yksac9x0x9jhczmxbvf")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/zclconf/go-cty-yaml")) + (propagated-inputs (list go-github-com-zclconf-go-cty)) + (home-page "https://github.com/zclconf/go-cty-yaml") + (synopsis "YAML marshalling and unmarshalling for go-cty") + (description + "Package yaml can marshal and unmarshal cty values in YAML format.") + (license license:asl2.0))) + (define-public go-github-com-zitadel-logging (package (name "go-github-com-zitadel-logging") @@ -19869,7 +22107,6 @@ utilities for cty Golang module.") (build-system go-build-system) (arguments (list - #:go go-1.24 #:import-path "github.com/zitadel/logging")) (native-inputs (list go-github-com-stretchr-testify @@ -20163,6 +22400,36 @@ distance. Takes a string value input from the user. Looks for an identical word on a list of words, if none is found, look for a similar word.") (license license:expat)))) +(define-public go-go-abhg-dev-container-ring + ;; The latest verion 0.3.0 was released in 2023, use the latest commit. + (let ((commit "5feb657d1370c86f039188acc39afdc16172de0e") + (revision "0")) + (package + (name "go-go-abhg-dev-container-ring") + (version (git-version "0.3.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abhinav/ring-go") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fcqxrf7jzf0682fhw6ly10m3b1sm2b7pnmcmbxg7zn7kjw91353")))) + (build-system go-build-system) + (arguments + (list + #:import-path "go.abhg.dev/container/ring")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-pgregory-net-rapid)) + (home-page "https://go.abhg.dev/container/ring") + (synopsis "FIFO queue backed by a ring buffer.") + (description + "Package ring implements a FIFO queue backed by a ring buffer.") + (license license:expat)))) + (define-public go-go-abhg-dev-io-ioutil (package (name "go-go-abhg-dev-io-ioutil") @@ -20202,7 +22469,6 @@ word on a list of words, if none is found, look for a similar word.") (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)) @@ -20216,6 +22482,35 @@ word on a list of words, if none is found, look for a similar word.") @url{https://github.com/alecthomas/kong, Kong CLI parser}.") (license license:bsd-3))) +(define-public go-go-abhg-dev-log-silog + (package + (name "go-go-abhg-dev-log-silog") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abhinav/silog-go") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1287i6qqg7hp8g49mbbr4n0l67v5b3dqz263ynpqjzrz1yck5q3v")))) + (build-system go-build-system) + (arguments + (list + #:import-path "go.abhg.dev/log/silog")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-charmbracelet-lipgloss + go-github-com-muesli-termenv)) + (home-page "https://go.abhg.dev/log/silog") + (synopsis "Colorful log/slog handler for CLI applications ") + (description + "Package silog provides a @code{slog.Handler} implementation that +produces human-readable, logfmt-style output.") + (license license:bsd-3))) + (define-public go-go-etcd-io-bbolt (package (name "go-go-etcd-io-bbolt") @@ -20490,6 +22785,7 @@ written in YAML or JSON.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "go.mongodb.org/mongo-driver" #:test-flags #~(list "-skip" @@ -20618,7 +22914,7 @@ CPU quota.") (define-public go-go-uber-org-dig (package (name "go-go-uber-org-dig") - (version "1.18.0") + (version "1.19.0") (source (origin (method git-fetch) @@ -20627,7 +22923,7 @@ CPU quota.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1hc56szkalhsxfnpw5iphhm1vhlq2za5049vcwi4zlcy64mjx8v9")))) + (base32 "1wmd4l3nn1mkv5kkx2xylk1fbkpp5a5f21fzavmc1rxlbfhfqvpz")))) (build-system go-build-system) (arguments (list @@ -20687,36 +22983,6 @@ 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") @@ -20860,9 +23126,9 @@ when they'd prefer a more familiar, loosely typed API.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/uber-go/zap") - (commit (go-version->git-ref version - #:subdir "exp")))) + (url "https://github.com/uber-go/zap") + (commit (go-version->git-ref version + #:subdir "exp")))) (file-name (git-file-name name version)) (sha256 (base32 "05i15278swdmpif3p6g18sy0sn7rnfdl3m2rj5p30cnyb0j29vig")) @@ -20875,18 +23141,11 @@ when they'd prefer a more familiar, loosely typed API.") ;; Consider to implement it as re-usable procedure in ;; guix/build/utils or guix/build-system/go. (define (delete-all-but directory . preserve) - (define (directory? x) - (and=> (stat x #f) - (compose (cut eq? 'directory <>) stat:type))) (with-directory-excursion directory - (let* ((pred - (negate (cut member <> (append '("." "..") preserve)))) + (let* ((pred (negate (cut member <> + (cons* "." ".." preserve)))) (items (scandir "." pred))) - (for-each (lambda (item) - (if (directory? item) - (delete-file-recursively item) - (delete-file item))) - items)))) + (for-each (cut delete-file-recursively <>) items)))) (delete-all-but "." "exp"))))) (build-system go-build-system) (arguments @@ -20911,6 +23170,51 @@ APIs may be unstable @end itemize") (license license:expat))) +(define-public go-go-yaml-in-yaml-v2 + (package + (name "go-go-yaml-in-yaml-v2") + (version "2.4.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yaml/go-yaml") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1w0psni3i34l2lmdaiqgij2a8h7yy82d14fr18cb7kgmsxci2bx0")))) + (build-system go-build-system) + (arguments + (list + #:import-path "go.yaml.in/yaml/v2")) + (native-inputs + (list go-gopkg-in-check-v1)) + (home-page "https://github.com/yaml/go-yaml") + (synopsis "YAML Support for the Go Language") + (description + "This packages is fork of @url{https://github.com/go-yaml/yaml, +gopkg.in/yaml.v2} maintained by @url{https://github.com/yaml/, YAML +organization}.") + (license license:asl2.0))) + +(define-public go-go-yaml-in-yaml-v3 + (package + (inherit go-go-yaml-in-yaml-v2) + (name "go-go-yaml-in-yaml-v3") + (version "3.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yaml/go-yaml") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03hdf855gm8bh8wnhxibin8y626ahaij6v5ivkmic2z86f48ah9n")))) + (arguments + (list + #:import-path "go.yaml.in/yaml/v3")))) + (define-public go-go4-org ;; No release or version tag, Golang pseudo version: ;; 0.0.0-20230225012048-214862532bf5. @@ -20931,6 +23235,7 @@ APIs may be unstable (build-system go-build-system) (arguments (list + #:go go-1.23 #:skip-build? #t #:import-path "go4.org" #:test-subdirs @@ -21047,6 +23352,55 @@ for locating directories their ASCII approximations.") (license license:asl2.0)))) +(define-public go-golang-org-x-perf + (package + (name "go-golang-org-x-perf") + (version "0.0.0-20250515181355-8f5f3abfb71a") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/perf") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01qby8hvyamacndkavij7kk0dp95q3irssj4krpb7ppqwpq4j7l3")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:tests? #f + #:import-path "golang.org/x/perf")) + (propagated-inputs + (list ;; go-cloud-google-com-go-storage + go-github-com-aclements-go-gg + go-github-com-aclements-go-moremath + go-github-com-go-sql-driver-mysql + go-github-com-google-safehtml + ;; go-github-com-googlecloudplatform-cloudsql-proxy + go-github-com-mattn-go-sqlite3 + go-golang-org-x-net + go-golang-org-x-oauth2 + ;; go-gonum-org-v1-plot + ;; go-google-golang-org-api + go-google-golang-org-appengine)) + (home-page "https://cs.opensource.google/go/x/perf") + (synopsis "Golang benchmark analysis tools and libraries") + (description + "This package provides tooling and utility libraries for perfoming and +reading benchmarks results. + +@itemize +@item @code{benchfmt} - reads and writes the Go benchmark format +@item @code{benchunit} - manipulates benchmark units and formats numbers in +those units +@item @code{benchproc} - provides tools for filtering, grouping, and sorting +benchmark results +@item @code{benchmath} - provides tools for computing statistics over +distributions of benchmark measurements +@end itemize") + (license license:bsd-3))) + (define-public go-google-golang-org-appengine (package (name "go-google-golang-org-appengine") @@ -21105,7 +23459,7 @@ their ASCII approximations.") (build-system go-build-system) (arguments (list - #:test-flags #~(list "-skip" "TestFailoverHandler") + #:test-flags #~(list "-skip" "TestFailoverHandler|TestLazy") #:import-path "gopkg.in/inconshreveable/log15.v1")) (native-inputs (list go-github-com-stretchr-testify)) @@ -21171,6 +23525,32 @@ machine readable. It is modeled after the Go standard library's @code{io} and go-github-com-mattn-go-colorable go-golang-org-x-term)))) +(define-public go-gopkg-in-inf-v0 + (package + (name "go-gopkg-in-inf-v0") + (version "0.9.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-inf/inf") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00k5iqjcp371fllqxncv7jkf80hn1zww92zm78cclbcn4ybigkng")))) + (build-system go-build-system) + (arguments + (list + #:import-path "gopkg.in/inf.v0" + ;; Tests are not copatiblw with Go 1.24+. + #:test-flags #~(list "-vet=off"))) + (home-page "https://github.com/go-inf/inf") + (synopsis "Infinite precision decimal arithmetic in Golang") + (description + "This package (type @code{inf.Dec}) implements a \"infinite-precision\" +decimal arithmetic.") + (license license:expat))) + (define-public go-gopkg-in-ini-v1 (package (name "go-gopkg-in-ini-v1") @@ -21469,6 +23849,7 @@ dependencies.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "howett.net/plist" ;; cmd requires gopkg.in/yaml.v1 #:test-subdirs #~(list "internal/..." "."))) @@ -21482,6 +23863,61 @@ dependencies.") XML, Apple Binary, OpenStep, and GNUStep) from/to arbitrary Go types.") (license license:giftware))) +(define-public go-k8s-io-apimachinery + (package + (name "go-k8s-io-apimachinery") + (version "0.34.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kubernetes/apimachinery") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mdmw951k9a2v817c0xxlazvz2500lw80mh53xjwspss0yx9b8fb")))) + (build-system go-build-system) + (arguments + (list + #:import-path "k8s.io/apimachinery" + ;; TODO: Check why some tests fails in other subdirectories. + #:test-subdirs #~(list "pkg/test/..."))) + (native-inputs + (list go-github-com-armon-go-socks5 + go-github-com-stretchr-testify + go-golang-org-x-time)) + (propagated-inputs + (list go-github-com-davecgh-go-spew + go-github-com-fxamacker-cbor-v2 + go-github-com-gogo-protobuf + go-github-com-google-gnostic-models + go-github-com-google-go-cmp + go-github-com-google-uuid + go-github-com-moby-spdystream + go-github-com-mxk-go-flowrate + go-github-com-pmezard-go-difflib + go-github-com-spf13-pflag + go-golang-org-x-net + go-gopkg-in-evanphx-json-patch-v4 + go-gopkg-in-inf-v0 + go-k8s-io-klog-v2 + go-k8s-io-kube-openapi + go-k8s-io-utils + go-sigs-k8s-io-json + go-sigs-k8s-io-randfill + go-sigs-k8s-io-structured-merge-diff-v6 + go-sigs-k8s-io-yaml)) + (home-page "https://k8s.io/apimachinery") + (synopsis "Kubernetes and Kubernetes-like API utilities") + (description + "This package provides scheme, typing, encoding, decoding, and conversion +functions for Kubernetes and Kubernetes-like API objects. It is a shared +dependency for servers and clients to work with Kubernetes API infrastructure +without direct type dependencies. Its first consumers are +@code{k8s.io/kubernetes}, @code{k8s.io/client-go}, and +@code{k8s.io/apiserver}.") + (license license:asl2.0))) + (define-public go-k8s-io-gengo-v2 (package (name "go-k8s-io-gengo-v2") @@ -21543,6 +23979,7 @@ split out here for ease of reuse and maintainability.") (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "k8s.io/klog/v2" #:test-flags #~(list "-skip" @@ -21604,6 +24041,33 @@ kubernetes-independent packages supplementing the @url{https://pkg.go.dev/std#stdlib,Go standard libs}.") (license license:asl2.0))) +(define-public go-kernel-org-pub-linux-libs-security-libcap-psx + (package + (name "go-kernel-org-pub-linux-libs-security-libcap-psx") + (version "1.2.76") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.org/pub/scm/libs/libcap/libcap.git") + (commit (go-version->git-ref version + #:subdir "psx")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0va0bkq5kxf0ccsdpw598vsmk4kdzhaafjvym0g5b2n49c5sn59b")))) + (build-system go-build-system) + (arguments + (list + #:import-path "kernel.org/pub/linux/libs/security/libcap/psx" + #:unpack-path "kernel.org/pub/linux/libs/security/libcap")) + ;; Redirects from <https://kernel.org/pub/linux/libs/security/libcap> + (home-page "https://sites.google.com/site/fullycapable") + (synopsis "API for invoking Linux system calls in Golang") + (description + "This package provides a support for system calls that are run +simultaneously on all threads under Linux.") + (license license:gpl2))) + (define-public go-maunium-net-go-mauflag (package (name "go-maunium-net-go-mauflag") @@ -21823,7 +24287,6 @@ defined in @url{https://editorconfig.org/,https://editorconfig.org/}.") (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 @@ -21880,7 +24343,6 @@ that @code{gofmt} is happy with.") (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 @@ -21894,6 +24356,7 @@ that @code{gofmt} is happy with.") "TestRunnerRun/#989" "TestRunnerRun/#990" "TestRunnerRun/#991" + "TestRunnerRunConfirm/#152" "TestScript/flags") "|")))) (native-inputs @@ -22019,7 +24482,6 @@ prints the Go version used to build that executable.") (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") @@ -22028,10 +24490,112 @@ prints the Go version used to build that executable.") unmarshaling functions based on @code{encoding/json} @code{Unmarshal()}.") (license license:asl2.0))) +(define-public go-sigs-k8s-io-kustomize-cmd-config + (package + (name "go-sigs-k8s-io-kustomize-cmd-config") + (version "0.20.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kubernetes-sigs/kustomize") + (commit (go-version->git-ref version + #:subdir "cmd/config")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12n8ij4gisah5mvxcgq263iic61gjpxdj3ml03826zckzn7wlv46")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + #~(begin + ;; XXX: 'delete-all-but' is copied from the turbovnc package. + ;; Consider to implement it as re-usable procedure in + ;; guix/build/utils or guix/build-system/go. + (define (delete-all-but directory . preserve) + (with-directory-excursion directory + (let* ((pred (negate (cut member <> + (cons* "." ".." preserve)))) + (items (scandir "." pred))) + (for-each (cut delete-file-recursively <>) items)))) + (delete-all-but "." "cmd") + (delete-all-but "cmd" "config"))))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "sigs.k8s.io/kustomize/cmd/config" + #:unpack-path "sigs.k8s.io/kustomize" + ;; Full test suite requires Docker in the PATH. + #:test-subdirs #~(list "internal/commands" + "runner/..."))) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-go-errors-errors + go-github-com-spf13-cobra + go-gopkg-in-inf-v0 + go-sigs-k8s-io-kustomize-kyaml)) + (home-page "https://sigs.k8s.io/kustomize") + (synopsis "Kubernetes config filters") + (description + "This package implements a functionality to expose Kubernetes config +filters directly as CLI commands for the purposes of development of the +@code{kyaml} package and as a reference implementation for using the +libraries.") + (license license:asl2.0))) + +(define-public go-sigs-k8s-io-kustomize-kyaml + (package + (name "go-sigs-k8s-io-kustomize-kyaml") + (version "0.19.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kubernetes-sigs/kustomize") + (commit (go-version->git-ref version + #:subdir "kyaml")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bpllzbaxvi93i74dw1z8k221ib2ydks0wmwx13vkh6cacrvydan")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.23 + #:import-path "sigs.k8s.io/kustomize/kyaml" + #:unpack-path "sigs.k8s.io/kustomize" + #:test-flags + #~(list "-skip" (string-join + (list "TestCommandResultsChecker_UpdateExpectedFromActual" + "TestProcessorResultsChecker_UpdateExpectedFromActual") + "|")))) + (native-inputs + (list go-github-com-stretchr-testify + go-github-com-davecgh-go-spew)) + (propagated-inputs + (list go-github-com-go-errors-errors + go-github-com-google-gnostic-models + go-github-com-google-go-cmp + go-github-com-monochromegane-go-gitignore + go-github-com-sergi-go-diff + go-github-com-spf13-cobra + go-github-com-xlab-treeprint + go-golang-org-x-sys + go-google-golang-org-protobuf + go-k8s-io-kube-openapi + go-sigs-k8s-io-yaml)) + (home-page "https://github.com/kubernetes-sigs/") + (synopsis "Read Kubernetes config as YAML") + (description + "Package kyaml contains libraries for reading and writing Kubernetes Resource +configuration as YAML.") + (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") + (version "4.7.0") (source (origin (method git-fetch) @@ -22040,17 +24604,16 @@ unmarshaling functions based on @code{encoding/json} @code{Unmarshal()}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0xgi3r2xvwvxy6jc6rd5rrnib4y9b4kgpqphm4lkhgaayy3njwv3")))) + (base32 "001h7lsnnglwj2nbbfhkmyfrym0y2dpwbfc6kqa3spl1dbl2lgac")))) (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 + #:skip-build? #t + #:import-path "sigs.k8s.io/structured-merge-diff/v4")) + (native-inputs + (list go-sigs-k8s-io-randfill)) (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") @@ -22060,6 +24623,29 @@ unmarshaling functions based on @code{encoding/json} @code{Unmarshal()}.") operation.") (license license:asl2.0))) +(define-public go-sigs-k8s-io-structured-merge-diff-v6 + (package + (inherit go-sigs-k8s-io-structured-merge-diff-v4) + (name "go-sigs-k8s-io-structured-merge-diff-v6") + (version "6.3.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 "0n7fx6l108ad7wmpx03zb7vzrzxwzs8fyhz0xxdr1vggsq5kdfn5")))) + (arguments + (substitute-keyword-arguments + (package-arguments go-sigs-k8s-io-structured-merge-diff-v4) + ((#:import-path _) "sigs.k8s.io/structured-merge-diff/v6"))) + (propagated-inputs + (list go-github-com-google-go-cmp + go-github-com-json-iterator-go + go-go-yaml-in-yaml-v2)))) + (define-public go-sigs-k8s-io-yaml (package (name "go-sigs-k8s-io-yaml") @@ -22122,7 +24708,7 @@ It allows one to safely call Unveil / Pledge on non-OpenBSD operating systems.") (define-public go-zgo-at-jfmt (package (name "go-zgo-at-jfmt") - (version "0.0.0-20240531161922-a97493b8db3c") + (version "0.0.0-20240726113937-e6436421fade") (source (origin (method git-fetch) @@ -22131,23 +24717,12 @@ It allows one to safely call Unveil / Pledge on non-OpenBSD operating systems.") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0vm38kp46m1drxx16prbjwrc575vv7819ci16p96i0mksnnlfxj3")))) + (base32 "1nc3n3lf0ixzpk85sadp2w4yg9v39pdb2z0i1rpxksdayax009wa")))) (build-system go-build-system) (arguments (list - #:import-path "zgo.at/jfmt" - #:phases - #~(modify-phases %standard-phases - ;; Remove test data which failing during tests, see - ;; <https://github.com/arp242/jfmt/issues/1>. - (add-after 'unpack 'disable-failing-tests - (lambda* (#:key import-path #:allow-other-keys) - (with-directory-excursion (string-append "src/" import-path) - (for-each - (lambda (file) (delete-file file)) - '("testdata/escape.json" - "testdata/toml-test-key-escapes.json" - "testdata/toml-test-string-quoted-unicode.json")))))))) + #:go go-1.23 + #:import-path "zgo.at/jfmt")) (propagated-inputs (list go-zgo-at-termtext go-zgo-at-zli @@ -22216,7 +24791,7 @@ terminals.") (define-public go-zgo-at-zli (package (name "go-zgo-at-zli") - (version "0.0.0-20240922172047-d7bc84b1106f") + (version "0.0.0-20250601161843-debde58580f1") (source (origin (method git-fetch) @@ -22225,10 +24800,11 @@ terminals.") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 - (base32 "110kwhydj6bzwqk7amkm9xgr3apx2bq6frlqb5yxds8cj5y25jks")))) + (base32 "120nlnxhzdmk1lh7cfgajkl85n8mfd00cn5csyislris9q2n2rxb")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "zgo.at/zli")) (home-page "https://github.com/arp242/zli") (synopsis "Go library for writing command line interface programs") @@ -22241,7 +24817,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-20241125224656-49fafbb06ca9") + (version "0.0.0-20250624130507-310bc16feb74") (source (origin (method git-fetch) @@ -22250,19 +24826,20 @@ helpful utility functions, and makes testing fairly easy.") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1hwvv685vv003j4ry6b791fmz5fz0ff57pq64s9s57zqxaxn8jrv")))) + (base32 "1b8w6cl0z9wz32n8znj3d6il775gfbnw6k8x6cxki4acqhga8dd2")))) (build-system go-build-system) (arguments (list + #:go go-1.23 #:import-path "zgo.at/zstd" - #:test-flags #~(list "-skip" "TestExists/4|TestDiffMatch/3"))) + #:test-flags #~(list "-skip" "TestExists/4"))) (home-page "https://github.com/arp242/zstd") (synopsis "Extensions to Go's standard library") (description "Package @samp{zstd} is a collection of extensions to Go's standard library.") (license license:expat))) - + ;;; ;;; Executables: ;;; @@ -22289,92 +24866,39 @@ library.") #: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) - (name "go-chroma") - (arguments - (list - #:install-source? #f - #:import-path "github.com/alecthomas/chroma/cmd/chroma" - #:unpack-path "github.com/alecthomas/chroma")) - (native-inputs - (list go-github-com-alecthomas-assert-v2 - go-github-com-alecthomas-kong - go-github-com-mattn-go-colorable - go-github-com-mattn-go-isatty)) - (description - (string-append (package-description go-github-com-alecthomas-chroma-v2) - " This package provides an command line interface (CLI) -tool.")))) - -(define-public go-connectrpc-com-connect - (package - (name "go-connectrpc-com-connect") - (version "1.18.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/connectrpc/connect-go") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0a6rzp57srhyf66jri62gfsj4ndpfxgb9ln15qdpfwv0xvcffz63")))) - (build-system go-build-system) - (arguments - (list - #:import-path "connectrpc.com/connect" - ;; Needs additional dependencies.. - #:tests? #f)) - (propagated-inputs (list go-google-golang-org-protobuf - go-golang-org-x-net - go-github-com-google-go-cmp)) - (home-page "https://connectrpc.com/connect") - (synopsis "@acronym{RPC, Remote procedure call} framework built on -Protocol Buffers") - (description - "Package @code{connect} is a slim RPC framework built on Protocol Buffers -and @code{net/http}. In addition to supporting its own protocol, Connect -handlers and clients are wire-compatible with gRPC and gRPC-Web, including -streaming.") - (license license:asl2.0))) - (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")) + (substitute-keyword-arguments + (package-arguments go-github-com-olekukonko-tablewriter) + ((#:tests? _ #t) #f) + ((#:install-source? _ #t) #f) + ((#:import-path _) "github.com/olekukonko/tablewriter/cmd/csv2table") + ((#:unpack-path _ "") "github.com/olekukonko/tablewriter"))) + (native-inputs + (append (package-native-inputs go-github-com-olekukonko-tablewriter) + (package-propagated-inputs go-github-com-olekukonko-tablewriter))) + (propagated-inputs '()) + (inputs '()) (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) + (package/inherit go-github-com-hashicorp-go-hclog (name "go-hclogvet") (arguments - (list - #:import-path "github.com/hashicorp/go-hclog/hclogvet" - #:unpack-path "github.com/hashicorp/go-hclog" - #:install-source? #f)) + (substitute-keyword-arguments + (package-arguments go-github-com-hashicorp-go-hclog) + ((#:tests? _ #t) #f) + ((#:install-source? _ #t) #f) + ((#:import-path _) "github.com/hashicorp/go-hclog/hclogvet") + ((#:unpack-path _ "") "github.com/hashicorp/go-hclog"))) + (native-inputs + (package-propagated-inputs go-github-com-hashicorp-go-hclog)) + (propagated-inputs '()) + (inputs '()) (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 @@ -22383,9 +24907,13 @@ correctly."))) (define-public go-jfmt (package/inherit go-zgo-at-jfmt (name "go-jfmt") - (arguments (list #:install-source? #f - #:import-path "zgo.at/jfmt/cmd/jfmt" - #:unpack-path "zgo.at/jfmt")) + (arguments + (substitute-keyword-arguments + (package-arguments go-zgo-at-jfmt) + ((#:tests? _ #t) #f) + ((#:install-source? _ #t) #f) + ((#:import-path _) "zgo.at/jfmt/cmd/jfmt") + ((#:unpack-path _ "") "zgo.at/jfmt"))) (description (string-append (package-description go-zgo-at-jfmt) " This package provides a command line interface (CLI) tool.")))) @@ -22427,28 +24955,37 @@ Jsonnet C++implementation.") (package/inherit go-github-com-vburenin-ifacemaker (name "go-ifacemaker") (arguments - (list #:install-source? #f - #:tests? #f - #:import-path "github.com/vburenin/ifacemaker")) + (substitute-keyword-arguments + (package-arguments go-github-com-vburenin-ifacemaker) + ((#:tests? _ #t) #f) + ((#:install-source? _ #t) #f) + ((#:skip-build? _ #t) #f))) + (native-inputs + (package-propagated-inputs go-github-com-vburenin-ifacemaker)) + (propagated-inputs '()) + (inputs '()) (description - (string-append (package-description go-github-com-vburenin-ifacemaker) - " This package provides a command line interface (CLI) tool.")))) + (string-append + (package-description go-github-com-vburenin-ifacemaker) + "\nThis package provides a command line interface (CLI) tool.")))) (define-public go-md2man - (package/inherit go-github-com-go-md2man + (package/inherit go-github-com-cpuguy83-go-md2man-v2 (name "go-md2man") (arguments (substitute-keyword-arguments - (package-arguments go-github-com-go-md2man) + (package-arguments go-github-com-cpuguy83-go-md2man-v2) ((#:tests? _ #t) #f) ((#:install-source? _ #t) #f) - ((#:skip-build? _ #t) #f))) + ((#:skip-build? _ #t) #f) + ((#:import-path _ "github.com/cpuguy83/go-md2man/v2") + "github.com/cpuguy83/go-md2man"))) (native-inputs - (package-propagated-inputs go-github-com-go-md2man)) + (package-propagated-inputs go-github-com-cpuguy83-go-md2man-v2)) (propagated-inputs '()) (inputs '()) (description - (string-append (package-description go-github-com-go-md2man) + (string-append (package-description go-github-com-cpuguy83-go-md2man-v2) "\nThis package provides a command line interface (CLI) tool.")))) @@ -22633,18 +25170,23 @@ tool.")))) tools.")))) (define-public go-tengo - (package - (inherit go-github-com-d5-tengo-v2) + (package/inherit go-github-com-d5-tengo-v2 (name "tengo") (arguments - (list - #:import-path "github.com/d5/tengo/cmd/tengo" - #:unpack-path "github.com/d5/tengo" - #:install-source? #f)) + (substitute-keyword-arguments + (package-arguments go-github-com-d5-tengo-v2) + ((#:tests? _ #t) #f) + ((#:install-source? _ #t) #f) + ((#:import-path "github.com/d5/tengo/v2") + "github.com/d5/tengo/v2/cmd/tengo") + ((#:unpack-path _ "") "github.com/d5/tengo/v2"))) + (native-inputs (package-propagated-inputs go-github-com-d5-tengo-v2)) + (propagated-inputs '()) + (inputs '()) (description - (string-append (package-description go-github-com-d5-tengo-v2) - "\nThis package provides an command line interface (CLI) -tool.")))) + (string-append + (package-description go-github-com-d5-tengo-v2) + "\nThis package provides a command line interface (CLI) tool.")))) (define-public go-gronx-tasker (package/inherit go-github-com-adhocore-gronx @@ -22695,19 +25237,23 @@ tool.")))) tools.")))) (define-public go-tomlv - (package - (inherit go-github-com-burntsushi-toml) + (package/inherit go-github-com-burntsushi-toml (name "go-tomlv") (arguments - (list - #:install-source? #f - #:tests? #f ; no tests. - #:import-path "github.com/BurntSushi/toml/cmd/tomlv" - #:unpack-path "github.com/BurntSushi/toml")) + (substitute-keyword-arguments + (package-arguments go-github-com-burntsushi-toml) + ((#:tests? _ #t) #f) + ((#:install-source? _ #t) #f) + ((#:import-path "github.com/BurntSushi/toml") + "github.com/BurntSushi/toml/cmd/tomlv") + ((#:unpack-path _ "") "github.com/BurntSushi/toml"))) + (native-inputs (package-propagated-inputs go-github-com-burntsushi-toml)) + (propagated-inputs '()) + (inputs '()) (description - (string-append (package-description go-github-com-burntsushi-toml) - " This package provides an command line interface (CLI) -tool.")))) + (string-append + (package-description go-github-com-burntsushi-toml) + "\nThis package provides a command line interface (CLI) tool.")))) (define-public go-ulid (package/inherit go-github-com-oklog-ulid-v2 @@ -22723,8 +25269,7 @@ tool.")))) tool.")))) (define-public gofumpt - (package - (inherit go-mvdan-cc-gofumpt) + (package/inherit go-mvdan-cc-gofumpt (name "gofumpt") (arguments (substitute-keyword-arguments @@ -22737,19 +25282,22 @@ tool.")))) (inputs '()))) (define-public misspell - (package - (inherit go-github-com-client9-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")))) + (substitute-keyword-arguments + (package-arguments go-github-com-client9-misspell) + ((#:tests? _ #t) #f) + ((#:install-source? _ #t) #f) + ((#:import-path "github.com/client9/misspell") + "github.com/client9/misspell/cmd/misspell") + ((#:unpack-path _ "") "github.com/client9/misspell"))) + (native-inputs (package-propagated-inputs go-github-com-client9-misspell)) + (propagated-inputs '()) + (inputs '()))) (define-public gops - (package - (inherit go-github-com-google-gops) + (package/inherit go-github-com-google-gops (name "gops") (arguments (substitute-keyword-arguments @@ -22761,6 +25309,49 @@ tool.")))) (propagated-inputs '()) (inputs '()))) +(define-public oci-runtime-tool + (package/inherit go-github-com-opencontainers-runtime-tools + (name "oci-runtime-tool") + (arguments + (substitute-keyword-arguments + (package-arguments go-github-com-opencontainers-runtime-tools) + ((#:install-source? _ #t) #f) + ((#:skip-build? _ #t) #f) + ((#:tests? _ #t) #f) + ((#:import-path "github.com/opencontainers/runtime-tools") + "github.com/opencontainers/runtime-tools/cmd/oci-runtime-tool") + ((#:unpack-path _ "") "github.com/opencontainers/runtime-tools") + ((#:phases phases '%standard-phases) + #~(modify-phases #$phases + (add-after 'install 'install-man-pages + (lambda* (#:key unpack-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" unpack-path) + (let ((man (string-append #$output "/share/man/man1"))) + (mkdir-p man) + (invoke "go-md2man" + "-in" "man/oci-runtime-tool.1.md" + "-out" (string-append man "/oci-runtime-tool.1")) + (invoke "go-md2man" + "-in" "man/oci-runtime-tool-generate.1.md" + "-out" (string-append man "/oci-runtime-tool-generate.1")) + (invoke "go-md2man" + "-in" "man/oci-runtime-tool-validate.1.md" + "-out" (string-append man "/oci-runtime-tool-validate.1")))))) + (add-after 'install 'install-bash-completions + (lambda* (#:key unpack-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" unpack-path) + (let ((bash (string-append #$output "/share/bash-completion"))) + (mkdir-p bash) + (copy-file "completions/bash/oci-runtime-tool" + (string-append bash "/completions")))))))))) + (native-inputs + (append + (modify-inputs (package-native-inputs go-github-com-opencontainers-runtime-tools) + (append go-md2man)) + (package-propagated-inputs go-github-com-opencontainers-runtime-tools))) + (propagated-inputs '()) + (inputs '()))) + (define-public protoc-gen-validate (package (inherit go-github-com-envoyproxy-protoc-gen-validate) |