1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-15 19:40:46 +02:00

Merge remote-tracking branch 'origin/go-team'

Change-Id: I3672a7dc248a41b1a83e4c488523f62cf1806710
This commit is contained in:
Sharlatan Hellseher 2025-01-26 20:55:06 +00:00
commit 75437dbb76
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5
45 changed files with 16348 additions and 7310 deletions

View file

@ -342,6 +342,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/golang-compression.scm \ %D%/packages/golang-compression.scm \
%D%/packages/golang-crypto.scm \ %D%/packages/golang-crypto.scm \
%D%/packages/golang-maths.scm \ %D%/packages/golang-maths.scm \
%D%/packages/golang-vcs.scm \
%D%/packages/golang-web.scm \ %D%/packages/golang-web.scm \
%D%/packages/golang-xyz.scm \ %D%/packages/golang-xyz.scm \
%D%/packages/gperf.scm \ %D%/packages/gperf.scm \
@ -1507,8 +1508,6 @@ dist_patch_DATA = \
%D%/packages/patches/go-fix-script-tests.patch \ %D%/packages/patches/go-fix-script-tests.patch \
%D%/packages/patches/go-gopkg-in-yaml-v3-32bit.patch \ %D%/packages/patches/go-gopkg-in-yaml-v3-32bit.patch \
%D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \ %D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \
%D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \
%D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \
%D%/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch \ %D%/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch \
%D%/packages/patches/go-github-com-wraparound-wrap-free-fonts.patch \ %D%/packages/patches/go-github-com-wraparound-wrap-free-fonts.patch \
%D%/packages/patches/go-skip-gc-test.patch \ %D%/packages/patches/go-skip-gc-test.patch \

View file

@ -70,6 +70,7 @@
;;; Copyright © 2024 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2024 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2024 nathan <nathan_mail@nborghese.com> ;;; Copyright © 2024 nathan <nathan_mail@nborghese.com>
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me> ;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se> ;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com> ;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;; Copyright © 2025 Dariqq <dariqq@posteo.net> ;;; Copyright © 2025 Dariqq <dariqq@posteo.net>
@ -148,7 +149,10 @@
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression) #:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages groff) #:use-module (gnu packages groff)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
@ -285,6 +289,53 @@ usual file attributes can be checked for inconsistencies.")
(home-page "https://aide.github.io/") (home-page "https://aide.github.io/")
(license license:gpl2+))) (license license:gpl2+)))
(define-public hetznercloud-cli
(package
(name "hetznercloud-cli")
(version "1.49.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hetznercloud/cli")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mgd1rv0i18h7jbzl034ffpfxvnjirp60qwxsjpfy42jh1d8xbjm"))))
(build-system go-build-system)
(arguments
(list
#:tests? #f ; XXX: figure out hot to enable them
#:install-source? #f
#:import-path "github.com/hetznercloud/cli/cmd/hcloud"
#:unpack-path "github.com/hetznercloud/cli"))
(native-inputs
(list go-github-com-burntsushi-toml
go-github-com-cheggaaa-pb-v3
go-github-com-dustin-go-humanize
go-github-com-fatih-color
go-github-com-fatih-structs
go-github-com-goccy-go-yaml
go-github-com-guptarohit-asciigraph
go-github-com-hetznercloud-hcloud-go-v2
go-github-com-jedib0t-go-pretty-v6
go-github-com-spf13-cast
go-github-com-spf13-cobra
go-github-com-spf13-pflag
go-github-com-spf13-viper
go-github-com-stretchr-testify
go-github-com-swaggest-assertjson
go-go-uber-org-mock
go-golang-org-x-crypto
go-golang-org-x-term))
(home-page "https://github.com/hetznercloud/cli")
(synopsis "Command-line interface for the Hetzner Cloud service")
(description
"This package provides the @code{hcloud} binary, a command-line interface
for interacting with the @url{https://www.hetzner.com/,Hetzner Cloud}
service.")
(license license:expat)))
(define-public progress (define-public progress
(package (package
(name "progress") (name "progress")
@ -5463,7 +5514,6 @@ disk utilization, priority, username, state, and exit code.")
(list (list
#:install-source? #f #:install-source? #f
#:import-path "github.com/linuxboot/fiano" #:import-path "github.com/linuxboot/fiano"
#:unpack-path "github.com/linuxboot/fiano"
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
;; XXX: Replace this part when it's implemented in go-build-system. ;; XXX: Replace this part when it's implemented in go-build-system.
@ -5475,10 +5525,7 @@ disk utilization, priority, username, state, and exit code.")
(string-append import-path "/cmds/" cmd))) (string-append import-path "/cmds/" cmd)))
(list "cbfs" (list "cbfs"
"create-ffs" "create-ffs"
;; TODO: Not packed yet in guix, long jorney: "fittool"
;; - github.com/tjfoc/gmsm
;;
;; "fittool"
"fmap" "fmap"
"fspinfo" "fspinfo"
"glzma" "glzma"
@ -5493,20 +5540,14 @@ disk utilization, priority, username, state, and exit code.")
(invoke "go" "test" "-v" (invoke "go" "test" "-v"
(string-append import-path dir "/..."))) (string-append import-path dir "/...")))
(list "/pkg/bytes" (list "/pkg/bytes"
;; TODO: Not packed yet in Guix, long jorney: "/pkg/amd"
;; - github.com/jedib0t
;;
;; "/pkg/amd"
"/pkg/cbfs" "/pkg/cbfs"
"/pkg/compression" "/pkg/compression"
"/pkg/fmap" "/pkg/fmap"
"/pkg/fsp" "/pkg/fsp"
"/pkg/guid" "/pkg/guid"
"/pkg/guid2english" "/pkg/guid2english"
;; TODO: Not packed yet in Guix, long jorney: "/pkg/intel"
;; - github.com/tjfoc/gmsm
;;
;; "/pkg/intel"
"/pkg/knownguids" "/pkg/knownguids"
"/pkg/log" "/pkg/log"
"/pkg/uefi" "/pkg/uefi"
@ -5533,7 +5574,7 @@ disk utilization, priority, username, state, and exit code.")
(install-file cmd bindir)) (install-file cmd bindir))
(list "cbfs" (list "cbfs"
"create-ffs" "create-ffs"
;; "fittool" "fittool"
"fmap" "fmap"
"fspinfo" "fspinfo"
"glzma" "glzma"
@ -5542,11 +5583,18 @@ disk utilization, priority, username, state, and exit code.")
"utk")))))))) "utk"))))))))
(inputs (inputs
(list go-github-com-dustin-go-humanize (list go-github-com-dustin-go-humanize
go-github-com-fatih-camelcase
go-github-com-hashicorp-go-multierror go-github-com-hashicorp-go-multierror
go-github-com-jedib0t-go-pretty-v6
go-github-com-jessevdk-go-flags go-github-com-jessevdk-go-flags
go-github-com-klauspost-compress
go-github-com-pierrec-lz4 go-github-com-pierrec-lz4
go-github-com-spf13-pflag go-github-com-spf13-pflag
go-github-com-stretchr-testify
go-github-com-tjfoc-gmsm
go-github-com-ulikunitz-xz go-github-com-ulikunitz-xz
go-github-com-xaionaro-go-bytesextra
go-github-com-xaionaro-gosrc
go-golang-org-x-text)) go-golang-org-x-text))
(home-page "https://github.com/linuxboot/fiano") (home-page "https://github.com/linuxboot/fiano")
(synopsis "UEFI image editor") (synopsis "UEFI image editor")
@ -5701,7 +5749,7 @@ FIFO and UNIX interprocess communication.")
(define-public runitor (define-public runitor
(package (package
(name "runitor") (name "runitor")
(version "0.8.0") (version "1.3.0-build.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -5710,7 +5758,7 @@ FIFO and UNIX interprocess communication.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0vjfbyrbp5ywgzdz9j3x0qgjvnq7nw7193x8v9yy6k2cih1zsacn")))) (base32 "00l83jcjmf5kcq8yzq575kk6ljkkr2xhm5cx27zzb1yhxn93xj7n"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:unpack-path "bdd.fi/x/runitor" `(#:unpack-path "bdd.fi/x/runitor"
@ -6353,7 +6401,7 @@ file or files to several hosts.")
(define-public doctl (define-public doctl
(package (package
(name "doctl") (name "doctl")
(version "1.94.0") (version "1.120.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -6362,7 +6410,12 @@ file or files to several hosts.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0a221n0x7qrq0dbhhf1saya2g7jyy1798k3rhy9nzyvqzc4vnd0x")))) "12fgymgiv6894ghar7ljg69hb7mi18pa2a74sp7fyymqvyhiv6z9"))
(snippet
;; TODO: Unbundle more.
#~(begin (use-modules (guix build utils))
(for-each delete-file-recursively
(list "vendor/golang.org"))))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:import-path "github.com/digitalocean/doctl/cmd/doctl" (list #:import-path "github.com/digitalocean/doctl/cmd/doctl"
@ -6392,6 +6445,17 @@ file or files to several hosts.")
"/etc/fish/completions/doctl.fish") "/etc/fish/completions/doctl.fish")
(install-completion "zsh" (install-completion "zsh"
"/etc/zsh/site-functions/_doctl")))))) "/etc/zsh/site-functions/_doctl"))))))
(native-inputs
(list go-golang-org-x-crypto
go-golang-org-x-mod
go-golang-org-x-net
go-golang-org-x-oauth2
go-golang-org-x-sync
go-golang-org-x-sys
go-golang-org-x-term
go-golang-org-x-text
go-golang-org-x-time
go-golang-org-x-tools))
(home-page "https://github.com/digitalocean/doctl") (home-page "https://github.com/digitalocean/doctl")
(synopsis "Command line client for DigitalOcean") (synopsis "Command line client for DigitalOcean")
(description (description

View file

@ -1058,7 +1058,7 @@ precious backup space.
(define-public restic-rest-server (define-public restic-rest-server
(package (package
(name "restic-rest-server") (name "restic-rest-server")
(version "0.12.1") (version "0.13.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1067,7 +1067,7 @@ precious backup space.
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"18jk93j91dq4639nml4qnq1fq5j3s67ca3gvfka5aafln8ir8ffk")))) "1ncsmwn4g1j555cgwkk5p8f093s42fip7dajhnh554jp1zx757m3"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list

View file

@ -24460,9 +24460,9 @@ for nanopore cDNA, native RNA, and PacBio sequencing reads.")
functions.") functions.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public go-github-com-biogo-store-interval (define-public go-github-com-biogo-store
(package (package
(name "go-github-com-biogo-store-interval") (name "go-github-com-biogo-store")
(version "0.0.0-20201120204734-aad293a2328f") (version "0.0.0-20201120204734-aad293a2328f")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -24475,8 +24475,9 @@ functions.")
"0skizrp1j6vgbl0g1kmh73picagqlvwckaqs0gkl6rai5lckxj8a")))) "0skizrp1j6vgbl0g1kmh73picagqlvwckaqs0gkl6rai5lckxj8a"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/biogo/store/interval" (list
#:unpack-path "github.com/biogo/store")) #:skip-build? #t
#:import-path "github.com/biogo/store"))
(propagated-inputs (propagated-inputs
(list go-gopkg-in-check-v1 (list go-gopkg-in-check-v1
go-github-com-kr-pretty)) go-github-com-kr-pretty))
@ -24487,45 +24488,9 @@ functions.")
useful for bioinformatic analysis.") useful for bioinformatic analysis.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public go-github-com-biogo-store-kdtree (define-public go-github-com-biogo-hts
(package (package
(inherit go-github-com-biogo-store-interval) (name "go-github-com-biogo-hts")
(name "go-github-com-biogo-store-kdtree")
(arguments
'(#:import-path "github.com/biogo/store/kdtree"
#:unpack-path "github.com/biogo/store"))
(propagated-inputs
(list go-gopkg-in-check-v1
go-github-com-kr-pretty))
(synopsis "kdtree store type for biogo")))
(define-public go-github-com-biogo-store-llrb
(package
(inherit go-github-com-biogo-store-interval)
(name "go-github-com-biogo-store-llrb")
(arguments
'(#:import-path "github.com/biogo/store/llrb"
#:unpack-path "github.com/biogo/store"))
(propagated-inputs
(list go-gopkg-in-check-v1
go-github-com-kr-pretty))
(synopsis "LLRB store for biogo")))
(define-public go-github-com-biogo-store-step
(package
(inherit go-github-com-biogo-store-interval)
(name "go-github-com-biogo-store-step")
(arguments
'(#:import-path "github.com/biogo/store/step"
#:unpack-path "github.com/biogo/store"))
(propagated-inputs
(list go-gopkg-in-check-v1
go-github-com-kr-pretty))
(synopsis "Step store for biogo")))
(define-public go-github-com-biogo-hts-bam
(package
(name "go-github-com-biogo-hts-bam")
(version "1.4.4") (version "1.4.4")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -24538,91 +24503,22 @@ useful for bioinformatic analysis.")
"1vkcqxyajghx5p5j7g2i376nbsxh8q2smk0smlv8mi34yr7hlw5b")))) "1vkcqxyajghx5p5j7g2i376nbsxh8q2smk0smlv8mi34yr7hlw5b"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/biogo/hts/bam" (list
#:unpack-path "github.com/biogo/hts")) #:skip-build? #t
(propagated-inputs #:import-path "github.com/biogo/hts"
;; Tests try to get samples from <https://github.com/samtools/htslib>.
#:test-flags #~(list "-skip" "TestHasEOF|TestRead")))
(native-inputs
(list go-gopkg-in-check-v1)) (list go-gopkg-in-check-v1))
(home-page "https://github.com/biogo/hts")
(synopsis "HTS BAM module for biogo")
(description "This package provides tools for handling BAM files.")
(license license:bsd-3)))
(define-public go-github-com-biogo-hts-sam
(package
(inherit go-github-com-biogo-hts-bam)
(name "go-github-com-biogo-hts-sam")
(arguments
'(#:import-path "github.com/biogo/hts/sam"
#:unpack-path "github.com/biogo/hts"))
(propagated-inputs (propagated-inputs
(list go-gopkg-in-check-v1)) (list go-github-com-ulikunitz-xz
(synopsis "HTS SAM module for biogo")
(description "This package provides tools for handling SAM files.")))
(define-public go-github-com-biogo-hts-tabix
(package
(inherit go-github-com-biogo-hts-bam)
(name "go-github-com-biogo-hts-tabix")
(arguments
'(#:import-path "github.com/biogo/hts/tabix"
#:unpack-path "github.com/biogo/hts"))
(propagated-inputs
(list go-gopkg-in-check-v1))
(synopsis "HTS Tabix module for biogo")
(description "This package provides tools for handling Tabix files.")))
(define-public go-github-com-biogo-hts-bgzf
(package
(inherit go-github-com-biogo-hts-bam)
(name "go-github-com-biogo-hts-bgzf")
(arguments
'(#:import-path "github.com/biogo/hts/bgzf"
#:unpack-path "github.com/biogo/hts"))
(propagated-inputs
(list go-gopkg-in-check-v1))
(synopsis "HTS bgzf module for biogo")
(description "This package provides tools for handling bgzf files.")))
(define-public go-github-com-biogo-hts-cram
(package
(inherit go-github-com-biogo-hts-bam)
(name "go-github-com-biogo-hts-cram")
(arguments
'(#:import-path "github.com/biogo/hts/cram"
#:unpack-path "github.com/biogo/hts"
#:tests? #false)) ;require network access
(propagated-inputs
(list go-gopkg-in-check-v1
go-github-com-ulikunitz-xz
go-github-com-kortschak-utter)) go-github-com-kortschak-utter))
(synopsis "HTS CRAM module for biogo") (home-page "https://github.com/biogo/hts")
(description "This package provides tools for handling CRAM files."))) (synopsis "HTS module for biogo")
(description
(define-public go-github-com-biogo-hts-csi "This package provides tools for handling BAM, SAM, Tabix, bgzf, CRAM,
(package CSIv1, CSIv2 and FAI files.")
(inherit go-github-com-biogo-hts-bam) (license license:bsd-3)))
(name "go-github-com-biogo-hts-csi")
(arguments
'(#:import-path "github.com/biogo/hts/csi"
#:unpack-path "github.com/biogo/hts"))
(propagated-inputs
(list go-gopkg-in-check-v1))
(synopsis "Coordinate sorted indexing for biogo")
(description "This package implements CSIv1 and CSIv2 coordinate sorted
indexing.")))
(define-public go-github-com-biogo-hts-fai
(package
(inherit go-github-com-biogo-hts-bam)
(name "go-github-com-biogo-hts-fai")
(arguments
'(#:import-path "github.com/biogo/hts/fai"
#:unpack-path "github.com/biogo/hts"))
(propagated-inputs
(list go-gopkg-in-check-v1))
(synopsis "Fasta sequence file index handling for biogo")
(description "This package implements FAI fasta sequence file index
handling.")))
(define-public go-github-com-biogo-biogo (define-public go-github-com-biogo-biogo
(package (package
@ -24642,11 +24538,8 @@ handling.")))
'(#:import-path "github.com/biogo/biogo")) '(#:import-path "github.com/biogo/biogo"))
(propagated-inputs (propagated-inputs
(list go-gopkg-in-check-v1 (list go-gopkg-in-check-v1
go-github-com-biogo-store-interval go-github-com-biogo-store
go-github-com-biogo-store-kdtree go-github-com-biogo-hts
go-github-com-biogo-store-llrb
go-github-com-biogo-store-step
go-github-com-biogo-hts-bam
go-github-com-biogo-graph)) go-github-com-biogo-graph))
(home-page "https://github.com/biogo/biogo") (home-page "https://github.com/biogo/biogo")
(synopsis "Bioinformatics library for Go") (synopsis "Bioinformatics library for Go")

View file

@ -49,7 +49,7 @@
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages golang) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c) #:use-module (gnu packages icu4c)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -436,36 +436,44 @@ configured to show the current time in different timezones.")
(license license:bsd-3)))) (license license:bsd-3))))
(define-public hebcal (define-public hebcal
(let ((commit "2384bb88dc1a41a4a5ae57a29fb58b2dd49a475d") (package
(revision "0")) (name "hebcal")
(package (version "5.8.7")
(name "hebcal") (source
(version (git-version "5.3.0" revision commit)) (origin
(source (origin (method git-fetch)
(method git-fetch) (uri (git-reference
(uri (git-reference (url "https://github.com/hebcal/hebcal")
(url "https://github.com/hebcal/hebcal") (commit (string-append "v" version))))
(commit commit))) (file-name (git-file-name name version))
(file-name (git-file-name name version)) (sha256
(sha256 (base32 "1a1b9jip1ha6bzv6xg9fx47q167yzgbxjvrp5zngv175nzl9427j"))))
(base32 (build-system go-build-system)
"12rv3b51jb7wcjwmmizz9jkw7gh37yklys4xncvpzgxdkkfgmmjx")))) (arguments
(build-system go-build-system) (list
(arguments #:install-source? #f
(list #:import-path "github.com/hebcal/hebcal")) #:import-path "github.com/hebcal/hebcal"
(inputs #:phases
(list go-github-com-hebcal-hebcal-go #~(modify-phases %standard-phases
go-github-com-pborman-getopt)) ;; taken from Makefile
(synopsis "Perpetual Jewish Calendar program") (add-after 'unpack 'set-defautl-city
(description (lambda* (#:key import-path #:allow-other-keys)
"Hebcal is a program for converting between Hebrew and Gregorian (with-directory-excursion (string-append "src/" import-path)
dates, and generating lists of Jewish holidays for a given year. (with-output-to-file "dcity.go"
Shabbat, holiday candle lighting, and havdalah times are approximated (lambda ()
using your location. (format #t "package main~%var defaultCity = ~s~%"
"Paris")))))))))
(inputs
(list go-github-com-hebcal-hebcal-go
go-github-com-pborman-getopt-v2))
(home-page "https://github.com/hebcal/hebcal")
(synopsis "Perpetual Jewish Calendar program")
(description
"Hebcal is a program for converting between Hebrew and Gregorian dates,
and generating lists of Jewish holidays for a given year. Shabbat, holiday
candle lighting, and havdalah times are approximated using your location.
It can also show daily prayer times, the weekly Torah reading, and It can also show daily prayer times, the weekly Torah reading, and the daily
the daily leaf of Talmud. The program can help with counting of the leaf of Talmud. The program can help with counting of the Omer or with
Omer or with calculation of Hebrew yahrzeits, birthdays, or calculation of Hebrew yahrzeits, birthdays, or anniversaries.")
anniversaries.") (license license:gpl2+)))
(home-page "https://github.com/hebcal/hebcal")
(license license:gpl2+))))

View file

@ -32,6 +32,7 @@
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com> ;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
@ -1124,6 +1125,53 @@ generation.")
similar to unit tests.") similar to unit tests.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public gotestsum
(package
(name "gotestsum")
(version "1.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gotestyourself/gotestsum")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0fx92jh6ay4rk1ljbgp9b2m4fafqwy0a19q7lhdabgb1j8dvgxvs"))))
(build-system go-build-system)
(arguments
(list
#:import-path "gotest.tools/gotestsum"
#:test-flags
#~(list "-skip"
(string-join
(list "TestE2E_IgnoresWarnings"
"TestE2E_MaxFails_EndTestRun"
"TestScanTestOutput_TestTimeoutPanicRace/panic-race-2")
"|"))
;; Run just unit test, integration tests from "testjson" require: run
;; 'go test . -update' to automatically update
;; testdata/summary/with-run-id to the new expected value.'
#:test-subdirs #~(list "cmd/..." "internal/...")))
(native-inputs
(list go-github-com-bitfield-gotestdox
go-github-com-dnephin-pflag
go-github-com-fatih-color
go-github-com-fsnotify-fsnotify
go-github-com-google-go-cmp
go-github-com-google-shlex
go-golang-org-x-sync
go-golang-org-x-sys
go-golang-org-x-term
go-golang-org-x-tools
go-gotest-tools-v3))
(synopsis "Go test runner with output optimized for humans")
(description "This package provides a @code{go test} runner with output
optimized for humans, JUnit XML for CI integration, and a summary of the
test results.")
(home-page "https://github.com/gotestyourself/gotestsum")
(license license:asl2.0)))
(define-public greatest (define-public greatest
(package (package
(name "greatest") (name "greatest")
@ -1301,7 +1349,7 @@ but it works for any C/C++ project.")
(define-public actionlint (define-public actionlint
(package (package
(name "actionlint") (name "actionlint")
(version "1.7.2") (version "1.7.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1310,7 +1358,7 @@ but it works for any C/C++ project.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1rgsxv4clgfyl4gr8bjk81p4b87c6hr34flxzw6011h0vjc54n7x")))) (base32 "1waq9v48pbys8b8qmmvl0wi77jzri033fh8194gcwfzipvxb6y9l"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
@ -1322,13 +1370,16 @@ but it works for any C/C++ project.")
#:unpack-path "github.com/rhysd/actionlint")) #:unpack-path "github.com/rhysd/actionlint"))
;; XXX: Install Man page, wrap with shellcheck and pyflakes. ;; XXX: Install Man page, wrap with shellcheck and pyflakes.
(native-inputs (native-inputs
(list go-github-com-fatih-color (list go-github-com-bmatcuk-doublestar-v4
go-github-com-fatih-color
go-github-com-google-go-cmp
go-github-com-mattn-go-colorable go-github-com-mattn-go-colorable
go-github-com-mattn-go-runewidth go-github-com-mattn-go-runewidth
go-github-com-robfig-cron go-github-com-mattn-go-shellwords
go-github-com-robfig-cron-v3
go-github-com-yuin-goldmark
go-golang-org-x-sync go-golang-org-x-sync
go-golang-org-x-sync go-golang-org-x-sys
go-github-com-google-go-cmp
go-gopkg-in-yaml-v3)) go-gopkg-in-yaml-v3))
(home-page "https://rhysd.github.io/actionlint/") (home-page "https://rhysd.github.io/actionlint/")
(synopsis "Static checker for GitHub Actions workflow files") (synopsis "Static checker for GitHub Actions workflow files")

View file

@ -25,9 +25,9 @@
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check) #:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-vcs)
#:use-module (gnu packages golang-web) #:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages version-control)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
@ -100,7 +100,7 @@
go-github-com-spf13-viper go-github-com-spf13-viper
go-github-com-stretchr-testify go-github-com-stretchr-testify
go-github-com-twpayne-go-shell go-github-com-twpayne-go-shell
go-github-com-twpayne-go-vfs go-github-com-twpayne-go-vfs-1.0.1
go-github-com-twpayne-go-vfsafero go-github-com-twpayne-go-vfsafero
go-github-com-twpayne-go-xdg-v3 go-github-com-twpayne-go-xdg-v3
go-github-com-zalando-go-keyring go-github-com-zalando-go-keyring

View file

@ -49,8 +49,9 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages kerberos) #:use-module (gnu packages kerberos)
#:use-module (gnu packages logging) #:use-module (gnu packages logging)
@ -201,47 +202,50 @@ tunneling, and so on.")
(prepend libssh2))) (prepend libssh2)))
(properties `((hidden? . #t))))) (properties `((hidden? . #t)))))
;; XXX: It looks like unmaintained, last time updated in 2018.
(define-public kurly (define-public kurly
(package (package
(name "kurly") (name "kurly")
(version "1.2.2") (version "1.2.2")
(source (origin (source
(method git-fetch) (origin
(uri (git-reference (method git-fetch)
(url "https://gitlab.com/davidjpeacock/kurly.git") (uri (git-reference
(commit (string-append "v" version)))) (url "https://gitlab.com/davidjpeacock/kurly")
(file-name (git-file-name name version)) (commit (string-append "v" version))))
(sha256 (file-name (git-file-name name version))
(base32 (sha256
"003jv2k45hg2svhjpy5253ccd250vi2r17x2zhm51iw54kgwxipm")))) (base32 "003jv2k45hg2svhjpy5253ccd250vi2r17x2zhm51iw54kgwxipm"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:import-path "gitlab.com/davidjpeacock/kurly" (list
#:install-source? #f #:install-source? #f
#:phases #:import-path "gitlab.com/davidjpeacock/kurly"
(modify-phases %standard-phases #:phases
(add-after 'install 'install-documentation #~(modify-phases %standard-phases
(lambda* (#:key import-path outputs #:allow-other-keys) (add-after 'install 'install-documentation
(let* ((source (string-append "src/" import-path)) (lambda* (#:key import-path #:allow-other-keys)
(out (assoc-ref outputs "out")) (let* ((source (string-append "src/" import-path))
(doc (string-append out "/share/doc/" ,name "-" ,version)) (doc (string-append #$output "/share/doc/"
(man (string-append out "/share/man/man1"))) #$name "-" #$version))
(with-directory-excursion source (man (string-append #$output "/share/man/man1")))
(install-file "README.md" doc) (with-directory-excursion source
(mkdir-p man) (install-file "README.md" doc)
(copy-file "doc/kurly.man" (mkdir-p man)
(string-append man "/kurly.1"))) (copy-file "doc/kurly.man"
#t)))))) (string-append man "/kurly.1")))))))))
(inputs (inputs
(list go-github-com-alsm-ioprogress go-github-com-aki237-nscjar (list go-github-com-alsm-ioprogress
go-github-com-aki237-nscjar
go-github-com-urfave-cli)) go-github-com-urfave-cli))
(synopsis "Command-line HTTP client")
(description "kurly is an alternative to the @code{curl} program written in
Go. kurly is designed to operate in a similar manner to curl, with select
features. Notably, kurly is not aiming for feature parity, but common flags and
mechanisms particularly within the HTTP(S) realm are to be expected. kurly does
not offer a replacement for libcurl.")
(home-page "https://gitlab.com/davidjpeacock/kurly") (home-page "https://gitlab.com/davidjpeacock/kurly")
(synopsis "Command-line HTTP client")
(description
"kurly is an alternative to the @code{curl} program written in Go. kurly
is designed to operate in a similar manner to curl, with select features.
Notably, kurly is not aiming for feature parity, but common flags and
mechanisms particularly within the HTTP(S) realm are to be expected. kurly
does not offer a replacement for libcurl.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public guile-curl (define-public guile-curl

View file

@ -713,59 +713,6 @@ around TangentOrgs libmemcached library, and can be used as a drop-in
replacement for the @code{python-memcached} library.") replacement for the @code{python-memcached} library.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public go-github-com-bradfitz-gomemcache
(package
(name "go-github-com-bradfitz-gomemcache")
(version "0.0.0-20190913173617-a41fca850d0b")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bradfitz/gomemcache")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "18qpds6xr73jy80pj7l3pc1l1ndcy3va2dl8fzk17bgwg49sxwfz"))
(modules '((guix build utils)))
(snippet
'(begin
;; Fixes the 'untyped-int -> string of one rune' issue.
;; https://github.com/golang/go/issues/32479
(substitute* "memcache/memcache_test.go"
(("string\\(0x7f") "string(rune(0x7f)"))))))
(build-system go-build-system)
(arguments
'(#:unpack-path "github.com/bradfitz/gomemcache"
#:import-path "github.com/bradfitz/gomemcache/memcache"))
(home-page "https://github.com/bradfitz/gomemcache")
(synopsis "Memcache client library in Go")
(description
"This is a memcache client library for the Go programming language.")
(license license:asl2.0)))
(define-public go-github-com-couchbase-gomemcached
(package
(name "go-github-com-couchbase-gomemcached")
(version "0.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/couchbase/gomemcached")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "10w74gc05x5naspls39sv2r92krrg31mk266w3lyqqwc0s3fxysl"))))
(build-system go-build-system)
(arguments '(#:import-path "github.com/couchbase/gomemcached"))
(native-inputs
(list go-github-com-stretchr-testify))
(home-page "https://github.com/couchbase/gomemcached")
(synopsis "Memcached binary protocol toolkit for go")
(description
"This package provides memcache client and server functionality.")
(license license:expat)))
(define-public litecli (define-public litecli
(package (package
(name "litecli") (name "litecli")
@ -3030,32 +2977,6 @@ one-to-one, while still providing an idiomatic interface.")
"Package rdb implements parsing and encoding of the Redis RDB file format.") "Package rdb implements parsing and encoding of the Redis RDB file format.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-gomodule-redigo
(package
(name "go-github-com-gomodule-redigo")
(version "1.8.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gomodule/redigo")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wplaaxg7f6c6c08gdp33l48hygn8gq1rhlnjzr1c9qcggsm07k1"))))
(build-system go-build-system)
(arguments
'(#:unpack-path "github.com/gomodule/redigo"
#:import-path "github.com/gomodule/redigo/redis"))
(native-inputs
(list go-github-com-stretchr-testify
redis))
(home-page "https://github.com/gomodule/redigo")
(synopsis "Go client for Redis")
(description
"Redigo is a Go client for the Redis database.")
(license license:asl2.0)))
(define-public kyotocabinet (define-public kyotocabinet
(package (package
(name "kyotocabinet") (name "kyotocabinet")
@ -3676,34 +3597,6 @@ etc., and an SQL engine for performing simple SQL queries.")
(license (list license:lgpl2.0 (license (list license:lgpl2.0
license:gpl2+)))) license:gpl2+))))
(define-public go-gopkg-in-mgo-v2
(package
(name "go-gopkg-in-mgo-v2")
(version "2.0.0-20190816093944-a6b53ec6cb22")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gopkg.in/mgo.v2")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lgvwxsbmdrf4938qkxl56wbwgbphk2qqnmpf73qdmlv4qsg14na"))))
(build-system go-build-system)
(arguments
'(#:tests? #f ; Tests try to use a running mongodb server.
#:import-path "gopkg.in/mgo.v2"))
(propagated-inputs
(list go-gopkg.in-tomb.v2))
(inputs
(list cyrus-sasl))
(native-inputs
(list go-gopkg-in-check-v1))
(home-page "https://gopkg.in/mgo.v2")
(synopsis "MongoDB driver for Go")
(description "This package provides a MongoDB driver for Go.")
(license license:bsd-2)))
(define-public python-lmdb (define-public python-lmdb
(package (package
(name "python-lmdb") (name "python-lmdb")
@ -5803,7 +5696,17 @@ compatible with SQLite using a graphical user interface.")
(arguments (arguments
(list (list
#:install-source? #f #:install-source? #f
#:import-path "github.com/lighttiger2505/sqls")) #:import-path "github.com/lighttiger2505/sqls"
;; XXX: Try to enable more or all tests.
#:test-subdirs #~(list "ast/..."
"dialect/..."
"parser/..."
"internal/completer"
"internal/config/..."
"internal/database"
"internal/debug"
"internal/formatter"
"internal/lsp")))
(native-inputs (native-inputs
(list go-github-com-google-go-cmp (list go-github-com-google-go-cmp
go-github-com-go-sql-driver-mysql go-github-com-go-sql-driver-mysql

View file

@ -71,7 +71,6 @@
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages graphics) #:use-module (gnu packages graphics)
@ -1324,7 +1323,7 @@ on your file system and offers to remove it. @command{rmlint} can find:
(define-public lf (define-public lf
(package (package
(name "lf") (name "lf")
(version "31") (version "33")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1333,7 +1332,7 @@ on your file system and offers to remove it. @command{rmlint} can find:
(commit (string-append "r" version)))) (commit (string-append "r" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "03icsf4c3j7295s1d8s6srz5gf09a3lghgw3zfcd86p03zhkzsaf")))) (base32 "1jmqf27ysi35n3hqahlzs5hym7i4w1mplklrvv0lc0baddzx7av8"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
@ -1341,10 +1340,13 @@ on your file system and offers to remove it. @command{rmlint} can find:
#:import-path "github.com/gokcehan/lf")) #:import-path "github.com/gokcehan/lf"))
(native-inputs (native-inputs
(list go-github-com-djherbis-times (list go-github-com-djherbis-times
go-github-com-fsnotify-fsnotify
go-github-com-gdamore-tcell-v2 go-github-com-gdamore-tcell-v2
go-github-com-mattn-go-runewidth go-github-com-mattn-go-runewidth
go-github-com-xuanwo-go-locale
go-golang-org-x-sys
go-golang-org-x-term go-golang-org-x-term
go-gopkg-in-djherbis-times-v1)) go-golang-org-x-text))
(home-page "https://github.com/gokcehan/lf") (home-page "https://github.com/gokcehan/lf")
(synopsis "Console file browser similar to Ranger") (synopsis "Console file browser similar to Ranger")
(description (description

View file

@ -45,6 +45,8 @@
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -194,6 +196,9 @@ Python without keeping their credentials in a Docker configuration file.")
"REVISION=0"))) "REVISION=0")))
(list (list
#:import-path "github.com/containerd/containerd" #:import-path "github.com/containerd/containerd"
;; XXX: This package contains full vendor, tests fail when run with
;; "...", limit to the project's root. Try to unvendor.
#:test-subdirs #~(list ".")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths (add-after 'unpack 'patch-paths

View file

@ -47,7 +47,6 @@
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check) #:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-web) #:use-module (gnu packages golang-web)
@ -320,7 +319,8 @@ Currently available boards include:
(with-directory-excursion bin (with-directory-excursion bin
(rename-file "v1" "gotypist")))))))) (rename-file "v1" "gotypist"))))))))
(native-inputs (native-inputs
(list go-github-com-gizak-termui go-github-com-stretchr-testify)) (list go-github-com-gizak-termui-v3
go-github-com-stretchr-testify))
(home-page "https://github.com/KappaDistributive/gotypist") (home-page "https://github.com/KappaDistributive/gotypist")
(synopsis "Simple typing trainer for text terminals") (synopsis "Simple typing trainer for text terminals")
(description (description
@ -1111,7 +1111,7 @@ machine, and more.")
(define-public exercism (define-public exercism
(package (package
(name "exercism") (name "exercism")
(version "3.1.0") (version "3.5.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1121,7 +1121,7 @@ machine, and more.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ah5v4pqq31bvj7s4rg3jyjn7jwxa15w31cn4c317gsqmi0n8rzl")) "0shh84g7j977kn9kcm09rj3lz6a3y5qq9yvklsldgb9zvass5szd"))
(patches (search-patches "exercism-disable-self-update.patch")))) (patches (search-patches "exercism-disable-self-update.patch"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments

View file

@ -511,6 +511,7 @@ significantly increases the risk of irreversible data loss!")
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:install-source? #f
#:import-path "github.com/rfjakob/gocryptfs" #:import-path "github.com/rfjakob/gocryptfs"
#:build-flags #:build-flags
#~(list #~(list
@ -519,6 +520,15 @@ significantly increases the risk of irreversible data loss!")
" -X main.GitVersionFuse=" #$(package-version " -X main.GitVersionFuse=" #$(package-version
go-github-com-hanwen-go-fuse-v2) go-github-com-hanwen-go-fuse-v2)
" -X main.BuildDate=" "[reproducible]")) " -X main.BuildDate=" "[reproducible]"))
#:test-flags
#~(list "-skip" (string-join
(list "TestPrepareAtSyscall"
"TestPrepareAtSyscallPlaintextnames"
"TestGetdents")
"|"))
;; XXX: Test suit requires a root access to mount, limit to some unit
;; tests, figure out how to enable most of the them.
#:test-subdirs #~(list "internal/...")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
;; after 'check phase, should maybe unmount leftover mounts as in ;; after 'check phase, should maybe unmount leftover mounts as in
@ -536,18 +546,14 @@ significantly increases the risk of irreversible data loss!")
"github.com/rfjakob/gocryptfs/contrib/findholes" "github.com/rfjakob/gocryptfs/contrib/findholes"
"github.com/rfjakob/gocryptfs/contrib/atomicrename"))))))) "github.com/rfjakob/gocryptfs/contrib/atomicrename")))))))
(native-inputs (list (native-inputs (list
go-github-com-hanwen-go-fuse-v2
go-github-com-aperturerobotics-jacobsa-crypto go-github-com-aperturerobotics-jacobsa-crypto
go-github-com-jacobsa-oglematchers go-github-com-hanwen-go-fuse-v2
go-github-com-jacobsa-oglemock go-github-com-moby-sys-mountinfo
go-github-com-jacobsa-ogletest
go-github-com-jacobsa-reqtrace
go-github-com-pkg-xattr go-github-com-pkg-xattr
go-github-com-rfjakob-eme go-github-com-rfjakob-eme
go-github-com-sabhiram-go-gitignore go-github-com-sabhiram-go-gitignore
go-github-com-spf13-pflag go-github-com-spf13-pflag
go-golang-org-x-crypto go-golang-org-x-crypto
go-golang-org-x-net
go-golang-org-x-sys go-golang-org-x-sys
go-golang-org-x-term go-golang-org-x-term
openssl openssl
@ -1960,31 +1966,6 @@ Dropbox API v2.")
local file system using FUSE.") local file system using FUSE.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public go-github-com-hanwen-fuse
(package
(name "go-github-com-hanwen-fuse")
(version "2.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hanwen/go-fuse")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y44d08fxyis99s6jxdr6dbbw5kv3wb8lkhq3xmr886i4w41lz03"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/hanwen/go-fuse"))
(propagated-inputs
(list go-golang-org-x-sys))
(home-page "https://github.com/hanwen/go-fuse")
(synopsis "FUSE bindings for Go")
(description
"This package provides Go native bindings for the FUSE kernel module.")
(license license:bsd-3)))
(define-public rewritefs (define-public rewritefs
(let ((revision "1") (let ((revision "1")
(commit "3a56de8b5a2d44968b8bc3885c7d661d46367306")) (commit "3a56de8b5a2d44968b8bc3885c7d661d46367306"))
@ -2146,7 +2127,7 @@ memory-efficient.")
(setenv "DESTDIR" #$output) (setenv "DESTDIR" #$output)
(invoke "make" "install"))))))) (invoke "make" "install")))))))
(inputs (inputs
(list go-github-com-mattn-go-sqlite3 go-github-com-hanwen-fuse)) (list go-github-com-mattn-go-sqlite3 go-github-com-hanwen-go-fuse))
(home-page "https://github.com/oniony/TMSU") (home-page "https://github.com/oniony/TMSU")
(synopsis "Tag files and access them through a virtual file system") (synopsis "Tag files and access them through a virtual file system")
(description (description

View file

@ -157,6 +157,7 @@
#:use-module (gnu packages gnuzilla) #:use-module (gnu packages gnuzilla)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gperf) #:use-module (gnu packages gperf)
#:use-module (gnu packages graphics) #:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz) #:use-module (gnu packages graphviz)
@ -10657,7 +10658,7 @@ terminal full-window applications.")
'(#:import-path "git.tuxfamily.org/harmonist/harmonist")) '(#:import-path "git.tuxfamily.org/harmonist/harmonist"))
(inputs (inputs
`(("go-github-com-gdamore-tcell-v2" ,go-github-com-gdamore-tcell-v2) `(("go-github-com-gdamore-tcell-v2" ,go-github-com-gdamore-tcell-v2)
("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go) ("go-github-com-nsf-termbox-go" ,go-github-com-nsf-termbox-go)
("go-github-com-anaseto-gruid" ,go-github-com-anaseto-gruid) ("go-github-com-anaseto-gruid" ,go-github-com-anaseto-gruid)
("go-github-com-anaseto-gruid-tcell" ,go-github-com-anaseto-gruid-tcell))) ("go-github-com-anaseto-gruid-tcell" ,go-github-com-anaseto-gruid-tcell)))
(home-page "https://harmonist.tuxfamily.org/") (home-page "https://harmonist.tuxfamily.org/")

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -29,6 +29,8 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-xyz)) #:use-module (gnu packages golang-xyz))
;;; Commentary: ;;; Commentary:
@ -80,6 +82,9 @@ the @code{c2go} tool at
(arguments (arguments
(list (list
#:import-path "github.com/dsnet/compress" #:import-path "github.com/dsnet/compress"
#:test-subdirs
#~(list "brotli/..." "bzip2/..." "flate" "internal" "internal/prefix"
"internal/testutil" "xflate/...")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
;; Testdata directories contains some compressed files requiring ;; Testdata directories contains some compressed files requiring
@ -163,7 +168,7 @@ library included in the stdlib, and supports GIF, TIFF and PDF.")
(define-public go-github-com-klauspost-compress (define-public go-github-com-klauspost-compress
(package (package
(name "go-github-com-klauspost-compress") (name "go-github-com-klauspost-compress")
(version "1.13.1") (version "1.17.11")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -172,20 +177,11 @@ library included in the stdlib, and supports GIF, TIFF and PDF.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ydnf9rizlhm8rilh14674qqx272sbwbkjx06xn9pqvy6mmn2r3r")))) (base32 "1i8r1xiba62nng651p4razxg1kw1910sl4grm7axm2g4q8s3i298"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:import-path "github.com/klauspost/compress" (list
#:phases #:import-path "github.com/klauspost/compress"))
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'fix-permissions
(lambda* (#:key outputs #:allow-other-keys)
;; Provide write permissions on gzip files so that
;; reset-gzip-timestamps has sufficient permissions.
(for-each make-file-writable
(find-files (assoc-ref outputs "out") ".gz$")))))))
(propagated-inputs
(list go-github-com-golang-snappy))
(home-page "https://github.com/klauspost/compress") (home-page "https://github.com/klauspost/compress")
(synopsis "Go compression library") (synopsis "Go compression library")
(description "@code{compress} provides various compression algorithms.") (description "@code{compress} provides various compression algorithms.")
@ -351,11 +347,19 @@ Supported archive formats:
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0vfn01gd3hcpbj6gb4ig3pw6bv0g4j5780awr0fv4kf9id8gjvyy")))) (base32 "0vfn01gd3hcpbj6gb4ig3pw6bv0g4j5780awr0fv4kf9id8gjvyy"))
(snippet
;; XXX: fiano uses this package as library only, cmd requires very
;; additional not packed and dated inputs. Overwrite with
;; go-github-com-pierrec-lz4-v4 when fiano is updated.
#~(begin (use-modules (guix build utils))
(delete-file-recursively "cmd")))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:import-path "github.com/pierrec/lz4")) #:import-path "github.com/pierrec/lz4"))
(native-inputs
(list go-github-com-frankban-quicktest))
(home-page "https://github.com/pierrec/lz4") (home-page "https://github.com/pierrec/lz4")
(synopsis "LZ4 compression in pure Go") (synopsis "LZ4 compression in pure Go")
(description (description
@ -383,7 +387,85 @@ LZ4 data blocks. The implementation is based on the reference C
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:import-path "github.com/pierrec/lz4/v4")))) #:import-path "github.com/pierrec/lz4/v4"))
;; For CLI.
(native-inputs
(list go-code-cloudfoundry-org-bytefmt
go-github-com-pierrec-cmdflag
go-github-com-schollz-progressbar-v3))))
(define-public go-github-com-saracen-fastzip
(package
(name "go-github-com-saracen-fastzip")
(version "0.1.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/saracen/fastzip")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1h63lhbwkga920n6lrh1ccfps2k4c3dn2pqap0i6mvjk6dba95s0"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/saracen/fastzip"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-klauspost-compress
go-github-com-saracen-zipextra
go-golang-org-x-sync
go-golang-org-x-sys))
(home-page "https://github.com/saracen/fastzip")
(synopsis "Zip archiver and extractor with a focus on speed")
(description
"Fastzip is an opinionated Zip archiver and extractor with a focus on
speed.
Features:
@itemize
@item archiving and extraction of files and directories can only occur within
a specified directory
@item permissions, ownership (uid, gid on linux/unix) and modification times
are preserved
@item buffers used for copying files are recycled to reduce allocations
@item files are archived and extracted concurrently
@item by default, @code{github.com/klauspost/compress/flate} library is used
for compression and decompression
@end itemize")
(license license:expat)))
(define-public go-github-com-saracen-zipextra
(package
(name "go-github-com-saracen-zipextra")
(version "0.0.0-20220303013732-0187cb0159ea")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/saracen/zipextra")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0j24jdi5495nfq08xm6yjr9s32z13x6y961ry1ihhhgi6s8zdddj"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/saracen/zipextra"
#: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 "zipextra_example_test.go")))))))
(home-page "https://github.com/saracen/zipextra")
(synopsis "Encoding and decoding ZIP archive format's \"Extra Fields\"")
(description
"This package provides a library for encoding and decoding ZIP archive
format's \"Extra Fields\". The intention is to eventually support and provide
a low-level API for the majority of PKWARE's and Info-ZIP's extra fields.")
(license license:expat)))
(define-public go-github-com-ulikunitz-xz (define-public go-github-com-ulikunitz-xz
(package (package
@ -466,10 +548,6 @@ tool."))))
#:install-source? #f #:install-source? #f
#:import-path "github.com/pierrec/lz4/cmd/lz4c" #:import-path "github.com/pierrec/lz4/cmd/lz4c"
#:unpack-path "github.com/pierrec/lz4")) #:unpack-path "github.com/pierrec/lz4"))
(native-inputs
(list go-code-cloudfoundry-org-bytefmt
go-github-com-pierrec-cmdflag
go-github-com-schollz-progressbar-v3))
(description (description
(string-append (package-description go-github-com-pierrec-lz4-v4) (string-append (package-description go-github-com-pierrec-lz4-v4)
" This package provides an additional command line " This package provides an additional command line

View file

@ -161,7 +161,7 @@ composability.")
(define-public go-filippo-io-edwards25519 (define-public go-filippo-io-edwards25519
(package (package
(name "go-filippo-io-edwards25519") (name "go-filippo-io-edwards25519")
(version "1.0.0") (version "1.1.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -170,7 +170,7 @@ composability.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "01m8hpaj0cwp250f7b0din09cf8j6j5y631grx67qfhvfrmwr1zr")))) (base32 "1b2c4iv13mfa0dydr8wawpnnrxgwl7mxzhryfrkjxrgwad8gas5k"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "filippo.io/edwards25519")) '(#:import-path "filippo.io/edwards25519"))
@ -198,25 +198,15 @@ primitives.")
(arguments (arguments
(list (list
#:import-path "github.com/99designs/keyring" #:import-path "github.com/99designs/keyring"
#:phases #:test-flags
#~(modify-phases %standard-phases #~(list "-skip" (string-join
(add-after 'unpack 'disable-failing-tests (list "TestLibSecretKeysWhenEmpty"
(lambda* (#:key tests? unpack-path #:allow-other-keys) "TestLibSecretKeysWhenNotEmpty"
(with-directory-excursion (string-append "src/" unpack-path) "TestLibSecretGetWhenEmpty"
(substitute* (find-files "." "\\_test.go$") "TestLibSecretGetWhenNotEmpty"
;; Disable test requring running DBus. "TestLibSecretRemoveWhenEmpty"
(("TestLibSecretKeysWhenEmpty") "TestLibSecretRemoveWhenNotEmpty")
"OffTestLibSecretKeysWhenEmpty") "|"))))
(("TestLibSecretKeysWhenNotEmpty")
"OffTestLibSecretKeysWhenNotEmpty")
(("TestLibSecretGetWhenEmpty")
"OffTestLibSecretGetWhenEmpty")
(("TestLibSecretGetWhenNotEmpty")
"OffTestLibSecretGetWhenNotEmpty")
(("TestLibSecretRemoveWhenEmpty")
"OffTestLibSecretRemoveWhenEmpty")
(("TestLibSecretRemoveWhenNotEmpty")
"OffTestLibSecretRemoveWhenNotEmpty"))))))))
(native-inputs (native-inputs
(list gnupg go-github-com-stretchr-testify password-store)) (list gnupg go-github-com-stretchr-testify password-store))
(propagated-inputs (propagated-inputs
@ -325,6 +315,31 @@ Go 1.20 @code{crypto/ecdh} standard package.")
cryptographic standards that are not included in the Go standard library.") cryptographic standards that are not included in the Go standard library.")
(license license:asl2.0)))) (license license:asl2.0))))
(define-public go-github-com-bradenhilton-cityhash
(package
(name "go-github-com-bradenhilton-cityhash")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bradenhilton/cityhash")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0rfmbis47m42w05inqmph7jk6kza79miq9ifqlsdiax38b684yky"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/bradenhilton/cityhash"))
(home-page "https://github.com/bradenhilton/cityhash")
(synopsis "Google CityHash version 1 in Golang")
(description
"This package provides a Go implementation of Google City Hash,
originated from https://github.com/zhenjl/cityhash and
https://github.com/zentures/cityhash projects.")
(license license:expat)))
(define-public go-github-com-btcsuite-btcd-btcec (define-public go-github-com-btcsuite-btcd-btcec
(let ((commit "67e573d211ace594f1366b4ce9d39726c4b19bd0") (let ((commit "67e573d211ace594f1366b4ce9d39726c4b19bd0")
(revision "0")) (revision "0"))
@ -377,8 +392,8 @@ needing to use secp256k1 elliptic curve cryptography.")
(base32 "0h508v790wk6g8jq0gh18296xl87vmgc4fhwnac7mk6i5g3mz6v4")))) (base32 "0h508v790wk6g8jq0gh18296xl87vmgc4fhwnac7mk6i5g3mz6v4"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:unpack-path "github.com/bwesterb/go-ristretto" (list
#:import-path "github.com/bwesterb/go-ristretto/edwards25519")) #:import-path "github.com/bwesterb/go-ristretto"))
(home-page "https://github.com/bwesterb/go-ristretto") (home-page "https://github.com/bwesterb/go-ristretto")
(synopsis "Operations on the Ristretto prime-order group") (synopsis "Operations on the Ristretto prime-order group")
(description "This is a pure Go implementation of the group operations on (description "This is a pure Go implementation of the group operations on
@ -480,7 +495,7 @@ described at @url{https://xxhash.com/}.")
(define-public go-github-com-cloudflare-circl (define-public go-github-com-cloudflare-circl
(package (package
(name "go-github-com-cloudflare-circl") (name "go-github-com-cloudflare-circl")
(version "1.3.6") (version "1.5.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -489,7 +504,20 @@ described at @url{https://xxhash.com/}.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "05hk5svprcjrj6k4mg4kd732pnb658llqv04z6xrcl5v77jda2kd")))) (base32 "1pfxg0iqai760arvbkznwkb6w2w7gginqpzr49s419dp73kr99hj"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Submodule(s) with their own go.mod files and packed as
;; separated packages:
;;
;; - github.com/cloudflare/circl/pke/kyber/internal/common/asm
;; - github.com/cloudflare/circl/sign/internal/dilithium/asm
;; - github.com/cloudflare/circl/simd/keccakf1600/internal/asm
(for-each delete-file-recursively
(list "pke/kyber/internal/common/asm"
"sign/internal/dilithium/asm"
"simd/keccakf1600/internal/asm"))))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/cloudflare/circl")) '(#:import-path "github.com/cloudflare/circl"))
@ -506,6 +534,36 @@ cryptographic algorithms targeting Post-Quantum (PQ) and Elliptic Curve
Cryptography (ECC).") Cryptography (ECC).")
(license license:bsd-3))) (license license:bsd-3)))
(define-public go-github-com-cloudwego-base64x
(package
(name "go-github-com-cloudwego-base64x")
(version "0.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cloudwego/base64x")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lgs28mj5w350vp6pazz2265hx2kab3kbjw7vnk0w1skslxbj8kx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/cloudwego/base64x"))
(native-inputs
(list go-github-com-davecgh-go-spew
go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-bytedance-sonic-loader
go-github-com-klauspost-cpuid-v2))
(home-page "https://github.com/cloudwego/base64x")
(synopsis "Drop-in replacement of the std @code{encoding/base64} library")
(description
"This package provides a drop-in replacement of the Golang standard
@code{encoding/base64} library.")
(license (list license:asl2.0 license:asl2.0))))
(define-public go-github-com-davidlazar-go-crypto (define-public go-github-com-davidlazar-go-crypto
(package (package
(name "go-github-com-davidlazar-go-crypto") (name "go-github-com-davidlazar-go-crypto")
@ -556,6 +614,29 @@ one-time authenticator as specified in
@end itemize") @end itemize")
(license license:expat))) (license license:expat)))
(define-public go-github-com-dchest-siphash
(package
(name "go-github-com-dchest-siphash")
(version "1.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dchest/siphash")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1d6vbg5i5r6pgfk3vh93a20jdj67lgr17dk2iml7fffw67i25a2c"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/dchest/siphash"))
(home-page "https://github.com/dchest/siphash")
(synopsis "Go library for pseudorandom functions")
(description
"SipHash is a family of pseudorandom functions (PRFs) optimized
for speed on short messages.")
(license license:cc0)))
(define-public go-github-com-decred-dcrd-crypto-blake256 (define-public go-github-com-decred-dcrd-crypto-blake256
(package (package
(name "go-github-com-decred-dcrd-crypto-blake256") (name "go-github-com-decred-dcrd-crypto-blake256")
@ -649,6 +730,31 @@ signature scheme specific to Decred) signatures. See the README.md files in
the relevant sub packages for more details about those aspects.") the relevant sub packages for more details about those aspects.")
(license license:isc))) (license license:isc)))
(define-public go-github-com-dgryski-dgoogauth
(package
(name "go-github-com-dgryski-dgoogauth")
(version "0.0.0-20190221195224-5a805980a5f3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dgryski/dgoogauth")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ma09ghwwizxaby37jmd9xjp6560p8lp29qqi8g4xw1d35h9nhny"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/dgryski/dgoogauth"))
(home-page "https://github.com/dgryski/dgoogauth")
(synopsis "Google Authenticator for Golang")
(description
"This is a Go implementation of the Google Authenticator library as
specified in @url{https://www.rfc-editor.org/rfc/rfc4226, RFC 4226} and
@url{https://www.rfc-editor.org/rfc/rfc6238, RFC 6238}.")
(license license:asl2.0)))
(define-public go-github-com-dgryski-go-farm (define-public go-github-com-dgryski-go-farm
(package (package
(name "go-github-com-dgryski-go-farm") (name "go-github-com-dgryski-go-farm")
@ -675,6 +781,79 @@ It is implemented as a mechanical translation of the non-SSE4/non-AESNI hash
functions from @url{https://github.com/google/farmhash,Google's FarmHash}.") functions from @url{https://github.com/google/farmhash,Google's FarmHash}.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-dgryski-go-metro
(package
(name "go-github-com-dgryski-go-metro")
(version "0.0.0-20250106013310-edb8663e5e33")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dgryski/go-metro")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0had4wbhhghr3rbm5v4dcj73nlq49k1mpklqn9gkmzkkxfs8hf6z"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/dgryski/go-metro"))
(home-page "https://github.com/dgryski/go-metro")
(synopsis "Go translation of MetroHash")
(description
"This package provides a Go translation of the
@url{https://github.com/jandrewrogers/MetroHash, reference C++ code for
MetroHash}, a high quality, high performance hash algorithm.")
(license license:expat)))
(define-public go-github-com-dgryski-go-mph
(package
(name "go-github-com-dgryski-go-mph")
(version "0.0.0-20211217222804-81a8625fb7ed")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dgryski/go-mph")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "10q8l4jdzqf54bnnxka2jk6qzayri3ijv51knn1n0iimfric8w9g"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/dgryski/go-mph"))
(propagated-inputs
(list go-github-com-dgryski-go-metro))
(home-page "https://github.com/dgryski/go-mph")
(synopsis "Go minimal perfect hash function")
(description
"This package implements a hash/displace minimal perfect hash function.")
(license license:expat)))
(define-public go-github-com-dgryski-go-rendezvous
(package
(name "go-github-com-dgryski-go-rendezvous")
(version "0.0.0-20200823014737-9f7001d12a5f")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dgryski/go-rendezvous")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hhdbsm5k19kh1fyxs4aibza9jylils4p3555lr8xalhj2iz3zlz"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/dgryski/go-rendezvous"))
(home-page "https://github.com/dgryski/go-rendezvous")
(synopsis "Hashing functions for Golang")
;; Project provides no README.
(description
"This package provides a hashing function.")
(license license:expat)))
(define-public go-github-com-dvsekhvalnov-jose2go (define-public go-github-com-dvsekhvalnov-jose2go
(package (package
(name "go-github-com-dvsekhvalnov-jose2go") (name "go-github-com-dvsekhvalnov-jose2go")
@ -802,6 +981,34 @@ providing bidirectional mapping values to their names, plus enum convenience
for values.") for values.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public go-github-com-gliderlabs-ssh
(package
(name "go-github-com-gliderlabs-ssh")
(version "0.3.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gliderlabs/ssh")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01svn6n2i7gb3j4wvjh3d7xyh3n0kxm5cda2kg9vgpl1l3bbsvqm"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/gliderlabs/ssh"))
(propagated-inputs
(list go-github-com-anmitsu-go-shlex
go-golang-org-x-crypto))
(home-page "https://github.com/gliderlabs/ssh")
(synopsis "SSH servers in Golang")
(description
"Package ssh wraps the crypto/ssh package with a higher-level API for
building SSH servers. The goal of the API was to make it as simple as using
net/http, so the API is very similar.")
(license license:bsd-3)))
(define-public go-github-com-go-asn1-ber-asn1-ber (define-public go-github-com-go-asn1-ber-asn1-ber
(package (package
(name "go-github-com-go-asn1-ber-asn1-ber") (name "go-github-com-go-asn1-ber-asn1-ber")
@ -1245,6 +1452,31 @@ implementations are described in \"Fast SHA-256 Implementations on Intel
Architecture Processors\" by J. Guilford et al.") Architecture Processors\" by J. Guilford et al.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public go-github-com-mr-tron-base58
(package
(name "go-github-com-mr-tron-base58")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mr-tron/base58")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ngxfpaa26p53lciz9vf2gn21l77kz8pcm2asxbv0l87g6xwqp7h"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/mr-tron/base58"))
(home-page "https://github.com/mr-tron/base58")
(synopsis "Fast implementation of base58 encoding on Golang")
(description
"Fast implementation of base58 encoding on Golang. A trivial
@command{big.Int} encoding benchmark results in 6 times faster encoding and 8
times faster decoding.")
(license license:expat)))
(define-public go-github-com-multiformats-go-multihash (define-public go-github-com-multiformats-go-multihash
(package (package
(name "go-github-com-multiformats-go-multihash") (name "go-github-com-multiformats-go-multihash")
@ -1426,10 +1658,36 @@ algorithm.")
"This package provides primitives for generating random values.") "This package provides primitives for generating random values.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-pjbgf-sha1cd
(package
(name "go-github-com-pjbgf-sha1cd")
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pjbgf/sha1cd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1g07kp07kvbsmpdrrv0r805vw4rr1mp77vx06m31nxvnp1s42zwi"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/pjbgf/sha1cd"))
(home-page "https://github.com/pjbgf/sha1cd")
(synopsis "sha1cd")
(description
"Package sha1cd implements collision detection based on the whitepaper
Counter-cryptanalysis from Marc Stevens. The original ubc implementation was
done by Marc Stevens and Dan Shumow, and can be found at:
@@url{https://github.com/cr-marcstevens/sha1collisiondetection,https://github.com/cr-marcstevens/sha1collisiondetection}.")
(license license:asl2.0)))
(define-public go-github-com-protonmail-go-crypto (define-public go-github-com-protonmail-go-crypto
(package (package
(name "go-github-com-protonmail-go-crypto") (name "go-github-com-protonmail-go-crypto")
(version "1.0.0") (version "1.1.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1438,21 +1696,14 @@ algorithm.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "11q94983r6zjrdvflpikms4773a9s5vb9gg4qw1rj5800yhhah0n")))) (base32 "0kcan2bw548cn6pm282zyddysv400dankcsrdanha7qmxqki34c0"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:import-path "github.com/ProtonMail/go-crypto" #:import-path "github.com/ProtonMail/go-crypto"
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
;; XXX: Workaround for go-build-system's lack of Go modules (delete 'build)))) ; no go files in project's root
;; support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs (propagated-inputs
(list go-github-com-cloudflare-circl (list go-github-com-cloudflare-circl
go-golang-org-x-crypto)) go-golang-org-x-crypto))
@ -1465,34 +1716,6 @@ completely backwards compatible with @code{golang.org/x/crypto}, the official
package.") package.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public go-github-com-quic-go-qtls-go1-20
(package
(name "go-github-com-quic-go-qtls-go1-20")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/quic-go/qtls-go1-20")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "069rknxpg7d0dmxc4akq2mw7wm5bi0420nshykf2iclvmbcg9ajh"))))
(build-system go-build-system)
(arguments
(list
;; XXX: panic: qtls.ClientSessionState doesn't match, with Golang 1.20+.
#:go go-1.20
#:import-path "github.com/quic-go/qtls-go1-20"))
(propagated-inputs
(list go-golang-org-x-crypto
go-golang-org-x-sys))
(home-page "https://github.com/quic-go/qtls-go1-20")
(synopsis "TLS 1.3 for QUIC")
(description "Go standard library TLS 1.3 implementation, modified for
QUIC. For Go 1.20.")
(license license:expat)))
(define-public go-github-com-refraction-networking-utls (define-public go-github-com-refraction-networking-utls
(package (package
(name "go-github-com-refraction-networking-utls") (name "go-github-com-refraction-networking-utls")
@ -1572,6 +1795,30 @@ wide-block encryption mode developed by Halevi and Rogaway.")
(description "Go-Bloom implements bloom filter using double hashing.") (description "Go-Bloom implements bloom filter using double hashing.")
(license license:asl2.0)))) (license license:asl2.0))))
(define-public go-github-com-sean--seed
(package
(name "go-github-com-sean--seed")
(version "0.0.0-20170313163322-e2103e2c3529")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sean-/seed")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0glir8jxi1w7aga2jwdb63pp1h8q4whknili7xixsqzwyy716125"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sean-/seed"))
(home-page "https://github.com/sean-/seed")
(synopsis "Seed random number generator")
(description
"Boiler-plate to securely @url{https://en.wikipedia.org/wiki/Random_seed,
seed} Go's random number generator (if possible).")
(license license:expat)))
(define-public go-github-com-shadowsocks-go-shadowsocks2 (define-public go-github-com-shadowsocks-go-shadowsocks2
(package (package
(name "go-github-com-shadowsocks-go-shadowsocks2") (name "go-github-com-shadowsocks-go-shadowsocks2")
@ -1588,16 +1835,7 @@ wide-block encryption mode developed by Halevi and Rogaway.")
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:import-path "github.com/shadowsocks/go-shadowsocks2" #:import-path "github.com/shadowsocks/go-shadowsocks2"))
#:phases
#~(modify-phases %standard-phases
;; XXX: Workaround for go-build-system's lack of Go modules
;; support.
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs (propagated-inputs
(list go-github-com-riobard-go-bloom (list go-github-com-riobard-go-bloom
go-golang-org-x-crypto)) go-golang-org-x-crypto))
@ -1607,6 +1845,210 @@ wide-block encryption mode developed by Halevi and Rogaway.")
tunnel proxy protocol.") tunnel proxy protocol.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public go-github-com-shogo82148-go-shuffle
(package
(name "go-github-com-shogo82148-go-shuffle")
(version "1.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/shogo82148/go-shuffle")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z5n5jp57b68pq70wkrmw9z3vibjnq7b7f6i62pjhh1a83kknfg1"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/shogo82148/go-shuffle"))
(home-page "https://github.com/shogo82148/go-shuffle")
(synopsis "Shuffling slices and user-defined collections")
(description
"Package shuffle provides primitives for shuffling slices and
user-defined collections.")
(license license:expat)))
(define-public go-github-com-skeema-knownhosts
(package
(name "go-github-com-skeema-knownhosts")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/skeema/knownhosts")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1i74wqingiflrrvpzhahwdly9f8c27i2far1qxkszi7aswhpj956"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/skeema/knownhosts"))
(propagated-inputs (list go-golang-org-x-crypto))
(home-page "https://github.com/skeema/knownhosts")
(synopsis "Go SSH known_hosts wrapper with host key lookup")
(description
"Package knownhosts is a thin wrapper around @code{golang.org/x/crypto/ssh/knownhosts},
adding the ability to obtain the list of host key algorithms for a known
host.")
(license license:asl2.0)))
(define-public go-github-com-spaolacci-murmur3
(package
(name "go-github-com-spaolacci-murmur3")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/spaolacci/murmur3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/spaolacci/murmur3"))
(home-page "https://github.com/spaolacci/murmur3")
(synopsis "Native MurmurHash3 Go implementation")
(description
"Native Go implementation of Austin Appleby's third MurmurHash
revision (aka MurmurHash3). Reference algorithm has been slightly hacked as
to support the streaming mode required by Go's standard Hash interface.")
(license license:bsd-3)))
(define-public go-github-com-tjfoc-gmsm
(package
(name "go-github-com-tjfoc-gmsm")
(version "1.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tjfoc/gmsm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18x1g555a3i86rkjrlxa6h6j3j87vhx480dqnv9hdij6cy3zph7i"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/tjfoc/gmsm"
#:test-subdirs
#~(list ;; "gmtls/..." ; requires go-google-golang-org-grpc
"pkcs12/..."
"sm2/..."
"sm3/..."
"sm4/..."
"x509/...")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda* (#:key import-path #:allow-other-keys)
;; Tests need to write to that files.
(with-directory-excursion (string-append "src/" import-path)
(make-file-writable "sm3/ifile"))))
(add-after 'check 'post-check
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
;; Remove modified testdata just in case.
(delete-file-recursively "sm3/ifile")))))))
(propagated-inputs
(list go-github-com-golang-protobuf
go-golang-org-x-crypto
go-golang-org-x-net
#;go-google-golang-org-grpc)) ; not packed yet
(home-page "https://github.com/tjfoc/gmsm")
;; Project's README is in Chinese Mandarin, translated with
;; auto translator and corrected manually.
(synopsis "ShangMi (SM) cipher suites for Golang")
(description
"This package provides @url{https://en.wikipedia.org/wiki/SM4_(cipher),
ShāngMì 4} cipher suites implementation (GM SM2/3/4).
Main functions:
@itemize
@item @code{SM2} national secret elliptic curve algorithm library
@item @code{SM3} national secret hash algorithm library
@item @code{SM4} national secret block cipher algorithm library
@end itemize")
(license license:asl2.0)))
(define-public go-github-com-twmb-murmur3
(package
(name "go-github-com-twmb-murmur3")
(version "1.1.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/twmb/murmur3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "064bbgbgc45i3m9b3rqyw09g0nlrjs7dq1k716i5f06zjjpr56wg"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/twmb/murmur3"))
(home-page "https://github.com/twmb/murmur3")
(synopsis "Native MurmurHash3 Go implementation")
(description
"Native Go implementation of Austin Appleby's third MurmurHash
revision (aka MurmurHash3). Reference algorithm has been slightly hacked as to
support the streaming mode required by Go's standard Hash interface.")
(license license:bsd-3)))
(define-public go-github-com-twpayne-go-pinentry
(package
(name "go-github-com-twpayne-go-pinentry")
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/twpayne/go-pinentry")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ixvvfd7ywsgj0jk1plb4h2g5bpmw86qc89m02c184jh5ndawhip"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/twpayne/go-pinentry"))
(native-inputs
(list go-github-com-alecthomas-assert-v2
go-github-com-golang-mock))
(propagated-inputs
(list go-github-com-rs-zerolog))
(home-page "https://github.com/twpayne/go-pinentry")
(synopsis "Golang client to GnuPG's pinentry")
(description
"Package pinentry provides a client to @code{GnuPG's} pinentry.")
(license license:expat)))
(define-public go-github-com-twpayne-go-pinentry-v4
(package
(inherit go-github-com-twpayne-go-pinentry)
(name "go-github-com-twpayne-go-pinentry-v4")
(version "4.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/twpayne/go-pinentry")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1z9h2lg5xd3g6dd9avcfx0nnwdybr2yibmsw7akl6pz0cls3sf63"))))
(arguments
(list
#:import-path "github.com/twpayne/go-pinentry/v4"))))
(define-public go-github-com-xanzy-ssh-agent (define-public go-github-com-xanzy-ssh-agent
(package (package
(name "go-github-com-xanzy-ssh-agent") (name "go-github-com-xanzy-ssh-agent")
@ -1633,10 +2075,35 @@ ssh-agent that uses UNIX sockets, and one could implement an alternative
ssh-agent process using the sample server.") ssh-agent process using the sample server.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public go-github-com-xdg-go-pbkdf2
(package
(name "go-github-com-xdg-go-pbkdf2")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xdg-go/pbkdf2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1nipijy5xkdnfyhkp5ryrjzm14si1i2v2xyfmblf84binwkbr8jh"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/xdg-go/pbkdf2"))
(home-page "https://github.com/xdg-go/pbkdf2")
(synopsis "Go implementation of PBKDF2")
(description
"Package pbkdf2 implements password-based key derivation using the PBKDF2
algorithm described in @url{https://rfc-editor.org/rfc/rfc2898.html,RFC 2898}
and @url{https://rfc-editor.org/rfc/rfc8018.html,RFC 8018}.")
(license license:asl2.0)))
(define-public go-github-com-youmark-pkcs8 (define-public go-github-com-youmark-pkcs8
(package (package
(name "go-github-com-youmark-pkcs8") (name "go-github-com-youmark-pkcs8")
(version "1.2") (version "1.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1645,7 +2112,7 @@ ssh-agent process using the sample server.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ckdrwa5rmp2c85936qd9d0gzrnrvqfg0297ansz5frdhg6fc6nq")))) (base32 "17pnl7b0ml4595cmxhramnc7ry6df6f4zisvaafxj4r7ravx8i7c"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
@ -1673,7 +2140,14 @@ PKCS#5 (v2.0) algorithms.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf")))) (base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/zeebo/blake3/avo
(delete-file-recursively "avo")))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
@ -1690,6 +2164,33 @@ PKCS#5 (v2.0) algorithms.")
and SSE4.1 acceleration.") and SSE4.1 acceleration.")
(license license:cc0))) (license license:cc0)))
(define-public go-github-com-zeebo-blake3-avo
(package
(name "go-github-com-zeebo-blake3-avo")
(version "0.0.0-20240814144702-1a8215cf69be")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zeebo/blake3")
(commit (go-version->git-ref version
#:subdir "avo"))))
(file-name (git-file-name name version))
(sha256
(base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/zeebo/blake3/avo"
#:unpack-path "github.com/zeebo/blake3"))
(propagated-inputs (list go-github-com-mmcloughlin-avo))
(home-page "https://github.com/zeebo/blake3")
(synopsis "BLAKE3 Avo integration")
(description
"This package provides a @url{https://github.com/mmcloughlin/avo, avo}
vectorized version of BLAKE3 implementation in Golang.")
(license license:cc0)))
(define-public go-github-com-zeebo-pcg (define-public go-github-com-zeebo-pcg
(package (package
(name "go-github-com-zeebo-pcg") (name "go-github-com-zeebo-pcg")
@ -1716,6 +2217,58 @@ and SSE4.1 acceleration.")
Congruential Generator} (PCG) algorithm.") Congruential Generator} (PCG) algorithm.")
(license license:cc0))) (license license:cc0)))
(define-public go-gitlab-com-nyarla-go-crypt
(package
(name "go-gitlab-com-nyarla-go-crypt")
(version "0.0.0-20160106005555-d9a5dc2b789b")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/nyarla/go-crypt.git")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0249hbwvhy0xywi9b5k8964km27pvfkr3jvliy3azri6vnyvkkx1"))))
(build-system go-build-system)
(arguments
(list
#:import-path "gitlab.com/nyarla/go-crypt"))
(home-page "https://gitlab.com/nyarla/go-crypt")
(synopsis "Implementation of @code{crypt(3)} in Golang")
(description
"Package crypt is a implementation of crypt(3) by golang, originated from
https://code.google.com/p/go-crypt.")
(license license:bsd-3)))
(define-public go-gitlab-com-yawning-bsaes-git
(package
(name "go-gitlab-com-yawning-bsaes-git")
(version "0.0.0-20190805113838-0a714cd429ec")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/yawning/bsaes.git")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1w4g9phpb2f02dpkyd0ixp8jw9v42lnjljj4ysfz8im15abskwdn"))))
(build-system go-build-system)
(arguments
(list
#:import-path "gitlab.com/yawning/bsaes.git"))
(propagated-inputs
(list go-golang-org-x-sys))
(home-page "https://gitlab.com/yawning/bsaes")
(synopsis "AES implementatin in Golang")
(description
"The @code{bsaes} is a portable pure-Go constant time AES implementation
based on the code from @url{https://bearssl.org/,BearSSL}. On appropriate
systems, with a sufficiently recent Go runtime, it will transparently call
crypto/aes when NewCipher is invoked.")
(license license:expat)))
(define-public go-gitlab-com-yawning-edwards25519-extra (define-public go-gitlab-com-yawning-edwards25519-extra
(let ((commit "2149dcafc266f66d2487f45b156f6397f9c4760b") (let ((commit "2149dcafc266f66d2487f45b156f6397f9c4760b")
(revision "0")) (revision "0"))
@ -1781,6 +2334,96 @@ package is intended for interoperability with the standard library and the
possible.") possible.")
(license license:bsd-3)))) (license license:bsd-3))))
(define-public go-gitlab-com-yawning-obfs4-git
(package
(name "go-gitlab-com-yawning-obfs4-git")
(version "0.0.0-20231012084234-c3e2d44b1033")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/yawning/obfs4.git")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1kv62161jf28v1d31avlc0f5iyk5ar06zlk3zdw99hyyfqjiasdr"))))
(build-system go-build-system)
(arguments
(list
#:import-path "gitlab.com/yawning/obfs4.git"
#:phases
#~(modify-phases %standard-phases
(delete 'build)))) ; no go files in project's root
(propagated-inputs
(list go-filippo-io-edwards25519
go-github-com-dchest-siphash
go-gitlab-com-yawning-edwards25519-extra
go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
go-golang-org-x-crypto
go-golang-org-x-net))
(home-page "https://gitlab.com/yawning/obfs4")
(synopsis "Network traffic obfourscator library")
(description
"This package implements functionality based on ideas and concepts from
Philipp Winter's
@url{https://www.cs.kau.se/philwint/scramblesuit/,ScrambleSuit} protocol.
The notable differences between ScrambleSuit and obfs4:
@itemize
@item the handshake always does a full key exchange (no such thing as a
Session Ticket Handshake)
@item the handshake uses the Tor Project's ntor handshake with public keys
obfuscated via the Elligator 2 mapping
@item the link layer encryption uses NaCl secret boxes (Poly1305/XSalsa20)
@end itemize")
(license license:gpl3+)))
(define-public go-gitlab-com-yawning-utls-git
(package
(name "go-gitlab-com-yawning-utls-git")
(version "0.0.12-1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/yawning/utls.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0f4m5g6yc0kn2s457gy98id4rr4m4z56y1nsxzx3xl04n408aimx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "gitlab.com/yawning/utls.git"
#:test-flags
#~(list "-skip" (string-join
;; Test requiring network setup.
(list "TestHandshakeClientCertECDSA"
"TestHandshakeServerECDHEECDSAAES"
"TestVerifyHostname"
;; Fails with error: misamtch on read.
"TestCipherSuiteCertPreferenceECDSA/TLSv12"
"TestUTLSHandshakeClientParrotGolang"
;; Fails with error: expected "key size too small
;; for PSS signature".
"TestKeyTooSmallForRSAPSS"
;; Time bomb tests, certs are not valid after
;; certain date.
"TestResumption/TLSv12"
"TestResumption/TLSv13")
"|"))))
(propagated-inputs
(list go-github-com-dsnet-compress
go-gitlab-com-yawning-bsaes-git
go-golang-org-x-crypto
go-golang-org-x-net))
(home-page "https://gitlab.com/yawning/utls")
(synopsis "Alternative fork of @code{github.com/refraction-networking/utls}")
(description
"This provides a fork of
@url{https://github.com/refraction-networking/utls,uTLS} for the specific
purpose of improving obfs4proxy's meek_lite transport.")
(license license:bsd-3)))
(define-public go-lukechampine-com-blake3 (define-public go-lukechampine-com-blake3
(package (package
(name "go-lukechampine-com-blake3") (name "go-lukechampine-com-blake3")
@ -1807,6 +2450,35 @@ contains AVX-512 and AVX2 routines (generated by avo) that greatly increase
performance for large inputs and outputs.") performance for large inputs and outputs.")
(license license:expat))) (license license:expat)))
(define-public go-software-sslmate-com-src-go-pkcs12
(package
(name "go-software-sslmate-com-src-go-pkcs12")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SSLMate/go-pkcs12")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bmkv9nxflgr5sbizpm737rbarmi8iyxny6pwdmqk0jzrg5ppd85"))))
(build-system go-build-system)
(arguments
(list
#:import-path "software.sslmate.com/src/go-pkcs12"))
(propagated-inputs
(list go-golang-org-x-crypto))
(home-page "https://github.com/SSLMate/go-pkcs12")
(synopsis "Encoding and decoding PKCS#12 files")
(description
"Package pkcs12 implements some of PKCS#12 (also known as P12 or PFX).
It is intended for decoding DER-encoded P12/PFX files for use with the
@code{crypto/tls} package, and for encoding P12/PFX files for use by legacy
applications which do not support newer formats. Since PKCS#12 uses weak
encryption primitives, it SHOULD NOT be used for new applications.")
(license license:bsd-3)))
(define-public go-torproject-org-pluggable-transports-goptlib (define-public go-torproject-org-pluggable-transports-goptlib
(package (package
(name "go-torproject-org-pluggable-transports-goptlib") (name "go-torproject-org-pluggable-transports-goptlib")

View file

@ -23,7 +23,8 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (gnu packages)) #:use-module (gnu packages)
#:use-module (gnu packages golang-build))
;;; Commentary: ;;; Commentary:
;;; ;;;
@ -35,6 +36,126 @@
;;; Libraries: ;;; Libraries:
;;; ;;;
(define-public go-github-com-aclements-go-moremath
(package
(name "go-github-com-aclements-go-moremath")
(version "0.0.0-20241023150245-c8bbc672ef66")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aclements/go-moremath")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "01c9fkjs6gx7z6qkzy9qld7q3jhi9vgqhk8ymqck3ccmhg9bh1nq"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/aclements/go-moremath"
#:phases
#~(modify-phases %standard-phases
;; No Go files in project root.
(delete 'build))))
(propagated-inputs
(list go-gonum-org-v1-gonum))
(home-page "https://github.com/aclements/go-moremath")
(synopsis "Assortment of more specialized math routines for Golang")
(description
"These packages provide more specialized math routines than are available
in the standard Go @code{math} package. go-moremath currently focuses on
statistical routines, with particular focus on high-quality implementations
and APIs for non-parametric methods.")
(license license:bsd-3)))
(define-public go-github-com-cockroachdb-apd
(package
(name "go-github-com-cockroachdb-apd")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cockroachdb/apd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14jnnqpdsa3vxh2zpznd2dpnychcrlkljppfplrigrs245slyh72"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/cockroachdb/apd"))
(propagated-inputs
(list go-github-com-pkg-errors))
(home-page "https://github.com/cockroachdb/apd")
(synopsis "Arbitrary-precision decimals for Golang")
(description
"This package implements much of the decimal specification from the
@url{http://speleotrove.com/decimal/,General Decimal Arithmetic} description.
This is the same specification implemented by
@url{https://docs.python.org/2/library/decimal.html,Pythons decimal module}
and GCCs decimal extension.")
(license license:asl2.0)))
(define-public go-github-com-cockroachdb-apd-v3
(package
(inherit go-github-com-cockroachdb-apd)
(name "go-github-com-cockroachdb-apd-v3")
(version "3.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cockroachdb/apd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jrb43l80mr8q1hx8q4p54rld6kya886ackv5yzqyhhhl271rnm6"))))
(arguments
(list
#:import-path "github.com/cockroachdb/apd/v3"))))
(define-public go-github-com-johncgriffin-overflow
(package
(name "go-github-com-johncgriffin-overflow")
(version "0.0.0-20211019200055-46fa312c352c")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JohnCGriffin/overflow")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1g4sfhdmzjl5vr16lfv7nv042w8dbz608bwzyvf7xlw4i7ypjjpq"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/JohnCGriffin/overflow"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'generate-impl
;; Note that because Go has no template types, the majority of
;; repetitive code is generated by overflow_template.sh. If you
;; have to change an algorithm, change it there and regenerate the
;; Go code.
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(substitute* "overflow_template.sh"
(("/bin/sh") (which "sh")))
(make-file-writable "overflow_impl.go")
(invoke "./overflow_template.sh")
(invoke "go" "generate")))))))
(home-page "https://github.com/JohnCGriffin/overflow")
(synopsis "Check for int/int64/int32 arithmetic overflow in Golang")
(description
"This package offers overflow-checked integer arithmetic operations for
@code{int},@code{int32}, and @code{int64}. Each of the operations returns a
@code{result,bool} combination. This was prompted by the need to know when to
flow into higher precision types from the @code{math.big} library.")
;; It's in README, see <https://github.com/JohnCGriffin/overflow/pull/5>.
(license license:expat)))
(define-public go-github-com-montanaflynn-stats (define-public go-github-com-montanaflynn-stats
(package (package
(name "go-github-com-montanaflynn-stats") (name "go-github-com-montanaflynn-stats")
@ -51,13 +172,43 @@
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:import-path "github.com/montanaflynn/stats")) #:import-path "github.com/montanaflynn/stats"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(delete-file-recursively "examples")))))))
(home-page "https://github.com/montanaflynn/stats") (home-page "https://github.com/montanaflynn/stats")
(synopsis "Statistics library for Golang") (synopsis "Statistics library for Golang")
(description (description
"This package provides a statistical library for Golang.") "This package provides a statistical library for Golang.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-remyoudompheng-bigfft
(package
(name "go-github-com-remyoudompheng-bigfft")
(version "0.0.0-20230129092748-24d4a6f8daec")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/remyoudompheng/bigfft")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0qxfda0jq70ank99zlgfz7iig2jpicbbxnpr7xcf1v9p474ak2dx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/remyoudompheng/bigfft"))
(home-page "https://github.com/remyoudompheng/bigfft")
(synopsis "Big integer multiplication library for using Fast Fourier transform")
(description
"Package bigfft implements multiplication of @code{big.Int} using
FFT (Schonhage-Strassen method for multiplying integers).")
(license license:bsd-3)))
(define-public go-github-com-shopspring-decimal (define-public go-github-com-shopspring-decimal
(package (package
(name "go-github-com-shopspring-decimal") (name "go-github-com-shopspring-decimal")
@ -116,6 +267,111 @@ rounding for conversions. IEEE 754-2008 refers to this 16-bit floating-point
format as binary16.") format as binary16.")
(license license:expat))) (license license:expat)))
(define-public go-gonum-org-v1-gonum
(package
(name "go-gonum-org-v1-gonum")
(version "0.15.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gonum/gonum")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "002qsavnylj8l4ki56narpn3zm0r9p7p8ccgd20q1xp751wg2kvp"))))
(build-system go-build-system)
(arguments
(list
#:import-path "gonum.org/v1/gonum"
#:test-subdirs
#~(list "."
"blas/..."
"cmplxs/..."
"diff/..."
"dsp/fourier/..."
"floats/..."
"integrate/..."
"internal/..."
"interp/..."
"lapack/..."
"mat/..."
"mathext/..."
"num/..."
"optimize/..."
"spatial/..."
"stat/..."
"uniti/...")))
(propagated-inputs
(list go-github-com-goccmack-gocc
go-github-com-google-go-cmp
go-golang-org-x-exp
go-golang-org-x-tools
#;go-gonum-org-v1-plot ; not packed yet
))
(home-page "https://www.gonum.org/")
(synopsis "Set of numeric libraries for Golang")
(description
"Gonum is a set of packages designed to make writing numerical and
scientific algorithms productive, performant, and scalable. It provides
libraries for matrices and linear algebra; statistics, probability
distributions, and sampling; tools for function differentiation,integration,
and optimization; network creation and analysis")
(license license:expat)))
(define-public go-lukechampine-com-uint128
(package
(name "go-lukechampine-com-uint128")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lukechampine/uint128")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1yy6lbprrsl9gscxn4194kr5sfvgi9cgvjdxn2141k36ab3nz8ip"))))
(build-system go-build-system)
(arguments
(list
#:import-path "lukechampine.com/uint128"))
(home-page "https://github.com/lukechampine/uint128")
(synopsis "Uint128 for Golang")
(description
"This package provides a high-performance @code{Uint128} type that
supports standard arithmetic operations. Unlike @code{math/big}, operations
on @code{Uint128} values always produce new values instead of modifying a
pointer receiver. A @@code{Uint128} value is therefore immutable, just like
@code{uint64} and friends.")
(license license:expat)))
(define-public go-modernc-org-mathutil
(package
(name "go-modernc-org-mathutil")
(version "1.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/cznic/mathutil")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wafxarpfvys5p2wsamadkv8j54ahrv9dwmlba9xsxb85n4q9ywm"))))
(build-system go-build-system)
(arguments
(list
#:import-path "modernc.org/mathutil"))
(propagated-inputs (list go-github-com-remyoudompheng-bigfft))
(home-page "https://modernc.org/mathutil")
(synopsis
"Utilities supplemental to the Go standard @code{rand} and @code{math} packages")
(description
"Package mathutil provides utilities supplementing the standard
@code{math} and @code{math/rand} packages.")
(license license:bsd-3)))
;;; ;;;
;;; Executables: ;;; Executables:
;;; ;;;

172
gnu/packages/golang-vcs.scm Normal file
View file

@ -0,0 +1,172 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages golang-vcs)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system go)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages version-control))
;;; Commentary:
;;;
;;; Please: Try to add new module packages in alphabetic order.
;;;
;;; Code:
;;;
;;; Libraries:
;;;
(define-public go-github-com-go-git-gcfg
(package
(name "go-github-com-go-git-gcfg")
(version "1.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/go-git/gcfg")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lb14z4j35pwz2b2rbykkpsq515spwbndb00gwn2xlrzn949xb83"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/go-git/gcfg"
;; pass; got 10, error <nil>
;; failed to parse "a" as int: expected integer; *ptr==0
#:test-flags #~(list "-skip" "TestParseInt|TestScanFully")))
(propagated-inputs
(list go-github-com-pkg-errors
go-gopkg-in-warnings-v0))
(home-page "https://github.com/go-git/gcfg")
(synopsis "Gcfg reads INI-style configuration files into Go structs")
(description "Gcfg reads INI-style configuration files into Go structs.")
(license license:bsd-3)))
(define-public go-github-com-go-git-go-git-v5
(package
(name "go-github-com-go-git-go-git-v5")
(version "5.13.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/go-git/go-git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1mgzwwmq1awai9n8vkjp8xpq26hvivl53g57f1k2cgg6bkj13r2a"))))
(build-system go-build-system)
(arguments
(list
#:tests? #f ;requires network connection
#:import-path "github.com/go-git/go-git/v5"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'setup
(lambda* (#:key inputs #:allow-other-keys)
(let* ((git #$(this-package-native-input "git-minimal"))
(git-bin (string-append git "/bin"))
(git-exe (string-append git-bin "/git")))
(setenv "GIT_DIST_PATH=" git)
(setenv "GIT_EXEC_PATH=" git-bin)
(setenv "HOME" (getcwd))
(invoke git-exe "config" "--global" "user.email" "gha@example.com")
(invoke git-exe "config" "--global" "user.name" "GitHub Actions")))))))
(native-inputs
(list git-minimal/pinned
go-github-com-stretchr-testify
go-gopkg-in-check-v1))
(propagated-inputs
(list go-dario-cat-mergo
go-github-com-armon-go-socks5
go-github-com-elazarl-goproxy
go-github-com-emirpasic-gods
go-github-com-gliderlabs-ssh
go-github-com-go-git-gcfg
go-github-com-go-git-go-billy-v5
go-github-com-go-git-go-git-fixtures-v4
go-github-com-golang-groupcache
go-github-com-google-go-cmp
go-github-com-jbenet-go-context
go-github-com-kevinburke-ssh-config
go-github-com-pjbgf-sha1cd
go-github-com-protonmail-go-crypto
go-github-com-sergi-go-diff
go-github-com-skeema-knownhosts
go-github-com-xanzy-ssh-agent
go-golang-org-x-crypto
go-golang-org-x-net
go-golang-org-x-sys
go-golang-org-x-text))
(home-page "https://github.com/go-git/")
(synopsis "Git implementation library")
(description "This package provides a Git implementation library.")
(license license:asl2.0)))
(define-public go-github-com-xanzy-go-gitlab
(package
(name "go-github-com-xanzy-go-gitlab")
(version "0.114.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xanzy/go-gitlab")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "136iik1pqggdk2z3yz4wh5z05wp9sb6j1rpbf33bjn5djqxcxbbf"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/xanzy/go-gitlab"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-google-go-querystring
go-github-com-hashicorp-go-cleanhttp
go-github-com-hashicorp-go-retryablehttp
go-golang-org-x-oauth2
go-golang-org-x-time))
(home-page "https://github.com/xanzy/go-gitlab")
(synopsis "GitLab Go SDK")
(description
"This package provides a GitLab API client enabling Go programs to
interact with GitLab in a simple and uniform way.")
(license license:asl2.0)))
;;;
;;; Executables:
;;;
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above in alphabetic order.
;;;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -215,6 +215,21 @@ applications.")
(sha256 (sha256
(base32 "0r1d0l3mmb90956wl97vqlb3cdhax7jkqa95hvx9b380g93a08py")))) (base32 "0r1d0l3mmb90956wl97vqlb3cdhax7jkqa95hvx9b380g93a08py"))))
(build-system go-build-system) (build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/nats-io/nats-server"
;; The test logic is taken from project's GitHub Actions workflow file
;; <.github/workflows/tests.yaml>.
#:test-flags
#~(list "-count=1" "-vet=off" "-failfast"
"-skip" (string-join
(list "TestHTTPHost"
"TestSysLogger"
"TestLogMaxArchives")
"|") )
#:test-subdirs
#~(list "conf/..." "internal/..." "logger/..." "test/...")))
(inputs (inputs
(list go-github-com-klauspost-compress (list go-github-com-klauspost-compress
go-github-com-minio-highwayhash go-github-com-minio-highwayhash
@ -226,10 +241,6 @@ applications.")
go-golang-org-x-crypto go-golang-org-x-crypto
go-golang-org-x-sys go-golang-org-x-sys
go-golang-org-x-time)) go-golang-org-x-time))
(arguments
(list
#:import-path "github.com/nats-io/nats-server"
#:install-source? #f))
(home-page "https://github.com/nats-io/nats-server") (home-page "https://github.com/nats-io/nats-server")
(synopsis "High performance message broker") (synopsis "High performance message broker")
(description (description

View file

@ -81,8 +81,8 @@
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages graphics) #:use-module (gnu packages graphics)
#:use-module (gnu packages image) #:use-module (gnu packages image)
@ -576,7 +576,7 @@ It supports JPEG, PNG and GIF formats.")
(define-public pixterm (define-public pixterm
(package (package
(name "pixterm") (name "pixterm")
(version "1.3.1") (version "1.3.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -585,14 +585,14 @@ It supports JPEG, PNG and GIF formats.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0fm6c0mjz6zillqjirnjjf7mkrax1gyfcv6777i07ms3bnv0pcii")))) "08x0pwnl3cyq5f29fxj379p9klzxl85p8jq2595xdz3mhb3pkgsg"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/eliukblau/pixterm/cmd/pixterm" '(#:install-source? #f
#:import-path "github.com/eliukblau/pixterm/cmd/pixterm"
#:unpack-path "github.com/eliukblau/pixterm")) #:unpack-path "github.com/eliukblau/pixterm"))
(inputs (list go-github-com-disintegration-imaging (inputs (list go-github-com-disintegration-imaging
go-github-com-lucasb-eyer-go-colorful go-github-com-lucasb-eyer-go-colorful
go-golang-org-x-crypto
go-golang-org-x-image go-golang-org-x-image
go-golang-org-x-term)) go-golang-org-x-term))
(home-page "https://github.com/eliukblau/pixterm") (home-page "https://github.com/eliukblau/pixterm")

View file

@ -43,6 +43,56 @@
#:use-module (gnu packages shells) #:use-module (gnu packages shells)
#:use-module (gnu packages specifications)) #:use-module (gnu packages specifications))
(define-public go-github-com-ceramicnetwork-go-dag-jose
(package
(name "go-github-com-ceramicnetwork-go-dag-jose")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ceramicnetwork/go-dag-jose")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0g34dwlnq07zg176bdhp2hcg1hg5l55s0a6hk4kiq37vm01w68j7"))
(snippet
#~(begin (use-modules (guix build utils))
;; Delete git submodule.
(delete-file-recursively ".ipld")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/ceramicnetwork/go-dag-jose"
#:phases
#~(modify-phases %standard-phases
;; XXX: Workaround for go-build-system's lack of Go modules
;; support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(native-inputs
(list go-github-com-stretchr-testify
go-github-com-frankban-quicktest
go-github-com-warpfork-go-testmark))
(propagated-inputs
(list go-github-com-go-jose-go-jose-v4
go-github-com-ipfs-go-cid
go-github-com-ipld-go-ipld-prime
go-github-com-multiformats-go-multibase
go-github-com-multiformats-go-multihash
go-golang-org-x-crypto
go-pgregory-net-rapid))
(home-page "https://github.com/ceramicnetwork/go-dag-jose")
(synopsis "Implementation of the IPLD dag-jose codec")
(description
"This is an implementation of the IPLD
@@url{https://ipld.io/specs/codecs/dag-jose/spec/,dag-jose codec}.")
(license license:expat)))
(define-public go-github-com-ipfs-bbloom (define-public go-github-com-ipfs-bbloom
(package (package
(name "go-github-com-ipfs-bbloom") (name "go-github-com-ipfs-bbloom")
@ -123,6 +173,35 @@ by a @acronym{Content Identifiers,CID}. The CID contains the multihash
corresponding to the block.") corresponding to the block.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-ipfs-go-ds-flatfs
(package
(name "go-github-com-ipfs-go-ds-flatfs")
(version "0.5.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ipfs/go-ds-flatfs")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1mrgl6kslq4d4zfpdyxvqxz8brhm8wphvnp916pippn7z63sayj3"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/ipfs/go-ds-flatfs"))
(propagated-inputs
(list go-github-com-ipfs-go-datastore
go-github-com-ipfs-go-log
go-github-com-jbenet-goprocess))
(home-page "https://github.com/ipfs/go-ds-flatfs")
(synopsis "Datastore implementation using sharded directories and flat files to store data")
(description
"Package flatfs is a Datastore implementation that stores all objects in
a two-level directory structure in the local file system, regardless of the
hierarchy of the keys.")
(license license:expat)))
(define-public go-github-com-ipfs-go-ipfs-blockstore (define-public go-github-com-ipfs-go-ipfs-blockstore
(package (package
(name "go-github-com-ipfs-go-ipfs-blockstore") (name "go-github-com-ipfs-go-ipfs-blockstore")
@ -316,7 +395,30 @@ keys used by @code{go-ipfs} (Kubo).")
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:import-path "github.com/ipfs/go-datastore")) #:import-path "github.com/ipfs/go-datastore"
#:test-subdirs
#~(list "autobatch/..."
"delayed/..."
"examples/..."
"failstore/..."
;; "fuzz/..." ; introduces cycle, for CLI
"keytransform/..."
"mount/..."
"namespace/..."
"query/..."
"retrystore/..."
"scoped/..."
"sync/..."
"test/..."
"trace/..."
".")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(for-each delete-file-recursively
(list "examples"))))))))
(native-inputs (native-inputs
(list go-gopkg-in-check-v1)) (list go-gopkg-in-check-v1))
(propagated-inputs (propagated-inputs
@ -707,8 +809,9 @@ code prior to it getting merged into @code{go-cid}.")
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:unpack-path "github.com/ipld/go-ipld-prime/" #:import-path "github.com/ipld/go-ipld-prime"
#:import-path "github.com/ipld/go-ipld-prime/" ;; XXX: More input requires to cover all shipped go packages.
#:test-subdirs #~(list ".")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'copy-ipld-specfs (add-after 'unpack 'copy-ipld-specfs
@ -823,7 +926,7 @@ their levels to be controlled individually.")
(define-public go-github-com-libp2p-go-libp2p (define-public go-github-com-libp2p-go-libp2p
(package (package
(name "go-github-com-libp2p-go-libp2p") (name "go-github-com-libp2p-go-libp2p")
(version "0.36.3") (version "0.36.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -832,12 +935,35 @@ their levels to be controlled individually.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1bpjqrb2zdp86va7ms36lpci1l6lgkx85rc3q13fmzks38mqqw8s")))) (base32 "0fmalwb0g0nykd1v22nm5gmif9mvapshsja8w1ihlm8ahbqq9vb2"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Submodules with their own go.mod files and packaged separatly:
;;
;; - github.com/libp2p/go-libp2p/scripts/test_analysis
;; - github.com/libp2p/go-libp2p/test-plans/m/v2
(for-each delete-file-recursively
(list "scripts/test_analysis" "test-plans"))))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:embed-files #~(list "sorted-network-list.bin") #:embed-files #~(list "sorted-network-list.bin")
#:import-path "github.com/libp2p/go-libp2p")) #:import-path "github.com/libp2p/go-libp2p"
;; XXX: Check how to enable the most of the tests, see GitHub Actions
;; workflow files of the project.
#:test-subdirs #~(list "core/..." ".")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(delete-file-recursively "examples")))))))
(native-inputs
(list go-github-com-libp2p-go-libp2p-testing
go-github-com-stretchr-testify
go-go-uber-org-mock
go-go-uber-org-goleak))
(propagated-inputs (propagated-inputs
(list go-github-com-benbjohnson-clock (list go-github-com-benbjohnson-clock
go-github-com-davidlazar-go-crypto go-github-com-davidlazar-go-crypto
@ -887,10 +1013,8 @@ their levels to be controlled individually.")
go-github-com-quic-go-quic-go go-github-com-quic-go-quic-go
go-github-com-quic-go-webtransport-go go-github-com-quic-go-webtransport-go
go-github-com-raulk-go-watchdog go-github-com-raulk-go-watchdog
go-github-com-stretchr-testify
go-go-uber-org-fx go-go-uber-org-fx
go-go-uber-org-goleak go-go-uber-org-zap
go-go-uber-org-mock
go-golang-org-x-crypto go-golang-org-x-crypto
go-golang-org-x-exp go-golang-org-x-exp
go-golang-org-x-sync go-golang-org-x-sync
@ -905,6 +1029,31 @@ their levels to be controlled individually.")
@url{https://github.com/libp2p/specs,libp2p}.") @url{https://github.com/libp2p/specs,libp2p}.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-libp2p-go-libp2p-testing
(package
(name "go-github-com-libp2p-go-libp2p-testing")
(version "0.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libp2p/go-libp2p-testing")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08n17mqskdj5il6lws53wk1zsf9d8c55f58bap1rjngf2d669p39"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t ; to break cycle with go-github-com-libp2p-go-libp2p
#:tests? #f
#:import-path "github.com/libp2p/go-libp2p-testing"))
(home-page "https://github.com/libp2p/go-libp2p-testing")
(synopsis "Test toolbox for go-libp2p modules")
(description
"This package provides a testing toolbox for go-libp2p modules.")
(license (list license:expat license:asl2.0))))
(define-public go-github-com-whyrusleeping-cbor-gen (define-public go-github-com-whyrusleeping-cbor-gen
(package (package
(name "go-github-com-whyrusleeping-cbor-gen") (name "go-github-com-whyrusleeping-cbor-gen")
@ -936,7 +1085,7 @@ types.")
(define-public kubo (define-public kubo
(package (package
(name "kubo") (name "kubo")
(version "0.30.0") (version "0.31.0")
(source (source
(origin (origin
(method url-fetch/tarbomb) (method url-fetch/tarbomb)
@ -944,7 +1093,7 @@ types.")
"https://dist.ipfs.io/kubo/v" version "https://dist.ipfs.io/kubo/v" version
"/kubo-source.tar.gz")) "/kubo-source.tar.gz"))
(sha256 (sha256
(base32 "0kwbwbrlvgcb8lcg85gpab6czyrnq7r9139i5gp827231zfbcqzq")) (base32 "0271rh54xbwikbllzsjnkjlj29cb2xy5lnhia47qlf2ymvl48kvf"))
(file-name (string-append name "-" version "-source")) (file-name (string-append name "-" version "-source"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(for-each delete-file-recursively (snippet '(for-each delete-file-recursively
@ -956,6 +1105,7 @@ types.")
"vendor/github.com/beorn7" "vendor/github.com/beorn7"
"vendor/github.com/blang" "vendor/github.com/blang"
"vendor/github.com/cenkalti" "vendor/github.com/cenkalti"
"vendor/github.com/ceramicnetwork"
"vendor/github.com/cespare" "vendor/github.com/cespare"
"vendor/github.com/cheggaaa" "vendor/github.com/cheggaaa"
"vendor/github.com/containerd" "vendor/github.com/containerd"
@ -1058,6 +1208,7 @@ types.")
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:go go-1.22
#:embed-files #~(list "sorted-network-list.bin") #:embed-files #~(list "sorted-network-list.bin")
#:unpack-path "github.com/ipfs/kubo" #:unpack-path "github.com/ipfs/kubo"
#:import-path "github.com/ipfs/kubo/cmd/ipfs" #:import-path "github.com/ipfs/kubo/cmd/ipfs"
@ -1086,7 +1237,7 @@ types.")
go-github-com-benbjohnson-clock go-github-com-benbjohnson-clock
go-github-com-blang-semver-v4 go-github-com-blang-semver-v4
go-github-com-cenkalti-backoff-v4 go-github-com-cenkalti-backoff-v4
;;go-github-com-ceramicnetwork-go-dag-jose go-github-com-ceramicnetwork-go-dag-jose
go-github-com-cheggaaa-pb go-github-com-cheggaaa-pb
go-github-com-coreos-go-systemd-v22 go-github-com-coreos-go-systemd-v22
go-github-com-dustin-go-humanize go-github-com-dustin-go-humanize
@ -1201,7 +1352,6 @@ types.")
go-golang-org-x-oauth2 ; github.com/ipfs/boxo go-golang-org-x-oauth2 ; github.com/ipfs/boxo
go-golang-org-x-term ; github.com/ipfs/go-ipfs-cmds go-golang-org-x-term ; github.com/ipfs/go-ipfs-cmds
go-golang-org-x-xerrors ; github.com/whyrusleeping/cbor-gen go-golang-org-x-xerrors ; github.com/whyrusleeping/cbor-gen
go-gopkg-in-square-go-jose-v2 ; github.com/ceramicnetwork/go-dag-jose
)) ))
(native-inputs (native-inputs
(append (if (%current-target-system) (append (if (%current-target-system)

View file

@ -141,7 +141,6 @@
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages gperf) #:use-module (gnu packages gperf)
#:use-module (gnu packages graphviz) #:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer) #:use-module (gnu packages gstreamer)
@ -9539,47 +9538,6 @@ nfnetlink_queue, nfnetlink_conntrack) and their respective users and/or
management tools in userspace.") management tools in userspace.")
(license license:gpl2))) (license license:gpl2)))
(define-public go-github-com-vishvananda-netlink
(package
(name "go-github-com-vishvananda-netlink")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vishvananda/netlink")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vhl30p1gx636a088ls4h6a0l8jjyfvz79fr5w0qzdrg4qg9h08h"))))
(build-system go-build-system)
(arguments
(list
;; The tests are unsupported on all architectures except x86_64-linux:
;; cannot use 0xabcdef99 (untyped int constant 2882400153) as int value
;; in struct literal (overflows)
#:tests? (and (not (%current-target-system)) (target-x86-64?))
#:import-path "github.com/vishvananda/netlink"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda* (#:key tests? unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(substitute* (find-files "." "\\_test.go$")
;; Disable tests requiring root access.
(("TestNetNsIdByFd") "OffTestNetNsIdByFd")
(("TestNetNsIdByPid") "OffTestNetNsIdByPid"))))))))
(propagated-inputs
(list go-golang-org-x-sys go-github-com-vishvananda-netns))
(home-page "https://github.com/vishvananda/netlink")
(synopsis "Simple netlink library for Go")
(description
"The netlink package provides a simple netlink library for Go. Netlink
is the interface a user-space program in Linux uses to communicate with the
kernel. It can be used to add and remove interfaces, set IP addresses and
routes, and configure IPsec.")
(license license:asl2.0)))
(define-public libinih (define-public libinih
(package (package
(name "libinih") (name "libinih")

View file

@ -54,6 +54,9 @@
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages gnome) ;libnotify #:use-module (gnu packages gnome) ;libnotify
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages mail) #:use-module (gnu packages mail)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
@ -62,6 +65,7 @@
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-build) #:use-module (gnu packages python-build)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
@ -521,27 +525,92 @@ Metrics can be exposed through a standalone web server, or through Twisted,
WSGI and the node exporter textfile collector.") WSGI and the node exporter textfile collector.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public go-github-com-prometheus-node-exporter (define-public prometheus-node-exporter
(package ;; The latest release is failing to build, use the latest commit from the
(name "go-github-com-prometheus-node-exporter") ;; master branch.
(version "0.18.1") (let ((commit "b8aac7c92e2d7f3dea56b2d4802d4ef3ee29c3cc")
(source (origin (revision "0"))
(method git-fetch) (package
(uri (git-reference (name "prometheus-node-exporter")
(url "https://github.com/prometheus/node_exporter") (version (git-version "1.8.2" revision commit))
(commit (string-append "v" version)))) (source (origin
(file-name (git-file-name name version)) (method git-fetch)
(sha256 (uri (git-reference
(base32 (url "https://github.com/prometheus/node_exporter")
"0s3sp1gj86p7npxl38hkgs6ymd3wjjmc5hydyg1b5wh0x3yvpx07")))) (commit commit)))
(build-system go-build-system) (file-name (git-file-name name version))
(arguments (sha256
'(#:import-path "github.com/prometheus/node_exporter")) (base32
(synopsis "Prometheus exporter for hardware and OS metrics") "0n2s2z168xzp6i0ihaqvvs8zinp1iqld45c6lj89x7wjv8m741j3"))))
(description "Prometheus exporter for metrics exposed by *NIX kernels, (build-system go-build-system)
(arguments
(list
#:install-source? #f
#:build-flags
#~(list (string-append
"-ldflags="
"-X github.com/prometheus/common/version.Version=" #$version
" -X github.com/prometheus/common/version.Revision=" #$revision
" -X github.com/prometheus/common/version.Branch=master"
" -X github.com/prometheus/common/version.BuildUser=guix"
" -X github.com/prometheus/common/version.BuildDate=n/a"))
#:embed-files #~(list "landing_page.css" "landing_page.html")
#:import-path "github.com/prometheus/node_exporter"
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(invoke "./ttar" "-C" "collector/fixtures"
"-x" "-f" "collector/fixtures/sys.ttar")
(invoke "./ttar" "-C" "collector/fixtures"
"-x" "-f" "collector/fixtures/udev.ttar"))))
(add-after 'check 'post-check
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(for-each delete-file-recursively
(list "collector/fixtures/sys"
"collector/fixtures/sys.ttar"
"collector/fixtures/udev"
"collector/fixtures/udev.ttar"))))))))
(propagated-inputs
(list go-github-com-alecthomas-kingpin-v2
go-github-com-beevik-ntp
go-github-com-coreos-go-systemd-v22
go-github-com-dennwc-btrfs
go-github-com-ema-qdisc
go-github-com-go-kit-log
go-github-com-godbus-dbus-v5
go-github-com-hashicorp-go-envparse
go-github-com-hodgesds-perf-utils
go-github-com-josharian-native
go-github-com-jsimonetti-rtnetlink
go-github-com-mattn-go-xmlrpc
go-github-com-mdlayher-ethtool
go-github-com-mdlayher-netlink
go-github-com-mdlayher-wifi
go-github-com-jsimonetti-rtnetlink-v2
go-github-com-opencontainers-selinux
go-github-com-prometheus-client-golang
go-github-com-prometheus-client-model
go-github-com-prometheus-common
go-github-com-prometheus-community-go-runit
go-github-com-prometheus-exporter-toolkit
go-github-com-prometheus-procfs-next
go-github-com-safchain-ethtool
go-golang-org-x-exp
go-golang-org-x-sys
go-howett-net-plist))
(home-page "https://github.com/prometheus/node_exporter")
(synopsis "Prometheus exporter for hardware and OS metrics")
(description
"Prometheus exporter for metrics exposed by *NIX kernels,
written in Go with pluggable metric collectors.") written in Go with pluggable metric collectors.")
(home-page "https://github.com/prometheus/node_exporter") (license license:asl2.0))))
(license license:asl2.0)))
(define-public go-github-com-prometheus-node-exporter
(deprecated-package "go-github-com-prometheus-node-exporter"
prometheus-node-exporter))
(define-public temper-exporter (define-public temper-exporter
(let ((commit "a87bbab19c05609d62d9e4c7941178700c1ef84d") (let ((commit "a87bbab19c05609d62d9e4c7941178700c1ef84d")

View file

@ -1952,41 +1952,6 @@ manage, and delete Internet resources from Gandi.net such as domain names,
virtual machines, and certificates.") virtual machines, and certificates.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public go-github-com-vishvananda-netns
(package
(name "go-github-com-vishvananda-netns")
(version "0.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vishvananda/netns")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0rci8c211m57nya9il81fz6459pia3dj5i4b16fp34vjrkcxliml"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/vishvananda/netns"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda* (#:key tests? unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(substitute* (find-files "." "\\_test.go$")
;; Disable tests requiring root access.
(("TestGetNewSetDelete") "OffTestGetNewSetDelete")
(("TestThreaded") "OffTestThreaded"))))))))
(propagated-inputs
(list go-golang-org-x-sys))
(home-page "https://github.com/vishvananda/netns")
(synopsis "Simple network namespace handling for Go")
(description
"The netns package provides a simple interface for handling network
namespaces in Go.")
(license license:asl2.0)))
(define-public go-sctp (define-public go-sctp
;; docker-libnetwork-cmd-proxy requires this exact commit. ;; docker-libnetwork-cmd-proxy requires this exact commit.
;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf. ;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf.
@ -4790,7 +4755,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(define-public nebula (define-public nebula
(package (package
(name "nebula") (name "nebula")
(version "1.9.3") (version "1.9.5")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -4799,7 +4764,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"08zzbx2v713zd9p7i4kd1bvcw47xb0092p5apba1x5wg6fpxw5zr")) "1slknnrdnf5a2ask11ql3gwnnl6c5359bp8rd712aq30lxa2d4r0"))
;; Remove windows-related binary blobs and files ;; Remove windows-related binary blobs and files
(snippet (snippet
#~(begin #~(begin
@ -4811,6 +4776,8 @@ IPv6 Internet connectivity - it also works over IPv4.")
(list (list
#:import-path "github.com/slackhq/nebula" #:import-path "github.com/slackhq/nebula"
#:install-source? #f #:install-source? #f
;; XXX: Pack missing packages for cmd/nebula-service
#:test-subdirs #~(list ".")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(replace 'build (replace 'build
@ -4837,29 +4804,32 @@ IPv6 Internet connectivity - it also works over IPv4.")
(list go-dario-cat-mergo (list go-dario-cat-mergo
go-github-com-anmitsu-go-shlex go-github-com-anmitsu-go-shlex
go-github-com-armon-go-radix go-github-com-armon-go-radix
go-github-com-cespare-xxhash-v2
go-github-com-cyberdelia-go-metrics-graphite go-github-com-cyberdelia-go-metrics-graphite
go-github-com-flynn-noise go-github-com-flynn-noise
go-github-com-gaissmai-bart
go-github-com-gogo-protobuf go-github-com-gogo-protobuf
go-github-com-google-gopacket go-github-com-google-gopacket
go-github-com-kardianos-service
go-github-com-miekg-dns go-github-com-miekg-dns
go-github-com-nbrownus-go-metrics-prometheus go-github-com-nbrownus-go-metrics-prometheus
go-github-com-prometheus-client-golang go-github-com-prometheus-client-golang
go-github-com-prometheus-client-model
go-github-com-prometheus-procfs
go-github-com-rcrowley-go-metrics go-github-com-rcrowley-go-metrics
go-github-com-sirupsen-logrus go-github-com-sirupsen-logrus
go-github-com-skip2-go-qrcode go-github-com-skip2-go-qrcode
go-github-com-songgao-water go-github-com-songgao-water
go-github-com-stretchr-testify go-github-com-stretchr-testify
go-github-com-vishvananda-netlink
go-golang-org-x-crypto go-golang-org-x-crypto
go-golang-org-x-exp
go-golang-org-x-net go-golang-org-x-net
go-golang-org-x-sync
go-golang-org-x-sys go-golang-org-x-sys
go-golang-org-x-term go-golang-org-x-term
go-golang-zx2c4-com-wireguard
go-google-golang-org-protobuf go-google-golang-org-protobuf
go-gopkg-in-yaml-v2 go-gopkg-in-yaml-v2
go-github-com-vishvananda-netlink ;go-gvisor-dev-gvisor ; for nebula-service, not packed yet
go-github-com-vishvananda-netns)) ))
(home-page "https://github.com/slackhq/nebula") (home-page "https://github.com/slackhq/nebula")
(synopsis "Scalable, peer-to-peer overlay networking tool") (synopsis "Scalable, peer-to-peer overlay networking tool")
(description (description

View file

@ -96,6 +96,7 @@
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-crypto) #:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-xyz) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages kerberos) #:use-module (gnu packages kerberos)
@ -128,6 +129,83 @@
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages xml)) #:use-module (gnu packages xml))
(define-public aws-vault
(package
(name "aws-vault")
(version "7.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/99designs/aws-vault")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dqg6d2k8r80ww70afghf823z0pijha1i0a0c0c6918yb322zkj2"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/99designs/aws-vault"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'patch-version
(lambda _
(substitute* "src/github.com/99designs/aws-vault/main.go"
(("var Version = \"dev\"")
(string-append "var Version = \"v" #$version "\"")))))
(add-after 'build 'contrib
(lambda* (#:key import-path #:allow-other-keys)
(let* ((zsh-site-dir
(string-append #$output "/share/zsh/site-functions"))
(bash-completion-dir
(string-append #$output "/share/bash-completion/completions"))
(fish-completion-dir
(string-append #$output "/share/fish/completions")))
(for-each mkdir-p (list bash-completion-dir
fish-completion-dir
zsh-site-dir))
(with-directory-excursion
(string-append "src/" import-path "/contrib/completions")
(copy-file "zsh/aws-vault.zsh"
(string-append zsh-site-dir "/_aws-vault"))
(copy-file "bash/aws-vault.bash"
(string-append bash-completion-dir "/aws-vault"))
(copy-file "fish/aws-vault.fish"
(string-append fish-completion-dir "/aws-vault.fish"))))))
;; aws-vault: error: add: mkdir /homeless-shelter: permission
;; denied.
(add-before 'check 'set-home
(lambda _
(setenv "HOME" "/tmp"))))))
(native-inputs
(list go-github-com-99designs-keyring
go-github-com-alecthomas-kingpin-v2
go-github-com-aws-aws-sdk-go-v2
go-github-com-aws-aws-sdk-go-v2-config
go-github-com-aws-aws-sdk-go-v2-credentials
go-github-com-aws-aws-sdk-go-v2-service-iam
go-github-com-aws-aws-sdk-go-v2-service-sso
go-github-com-aws-aws-sdk-go-v2-service-ssooidc
go-github-com-aws-aws-sdk-go-v2-service-sts
go-github-com-google-go-cmp
go-github-com-mattn-go-isatty
go-github-com-mattn-go-tty
go-github-com-skratchdot-open-golang
go-golang-org-x-term
go-gopkg-in-ini-v1))
(home-page "https://github.com/99designs/aws-vault")
(synopsis "Vault for securely storing and accessing AWS credentials")
(description
"AWS Vault is a tool to securely store and access @acronym{Amazon Web
Services,AWS} credentials.
AWS Vault stores IAM credentials in your operating system's secure keystore and
then generates temporary credentials from those to expose to your shell and
applications. It's designed to be complementary to the AWS CLI tools, and is
aware of your profiles and configuration in ~/.aws/config.")
(license license:expat)))
(define-public pwgen (define-public pwgen
(package (package
(name "pwgen") (name "pwgen")

View file

@ -1,21 +1,23 @@
From bc22f7d43c12c5f79c71b0319666e71f29d61322 Mon Sep 17 00:00:00 2001 From a0e422b11a65d63bd435c96bee3cd08f06bb8ec8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= <kuba@kadziolka.net> From: Sharlatan Hellseher <sharlatanus@gmail.com>
Date: Mon, 25 May 2020 18:53:04 +0200 Date: Mon, 23 Dec 2024 01:59:10 +0000
Subject: [PATCH] Disable self-update. Subject: [PATCH] Disable self-update.
For exercism cli V3.5.4.
Based on a Fedora patch by Elliott Sales de Andrade. Based on a Fedora patch by Elliott Sales de Andrade.
--- ---
cli/cli.go | 44 +------------------------------------------- cli/cli.go | 44 +-------------------------------------------
1 file changed, 1 insertion(+), 43 deletions(-) 1 file changed, 1 insertion(+), 43 deletions(-)
diff --git a/cli/cli.go b/cli/cli.go diff --git a/cli/cli.go b/cli/cli.go
index 4312eb0..5f62297 100644 index fe113ec..3baa4b0 100644
--- a/cli/cli.go --- a/cli/cli.go
+++ b/cli/cli.go +++ b/cli/cli.go
@@ -10,13 +10,10 @@ import ( @@ -10,13 +10,10 @@ import (
"io" "io"
"io/ioutil"
"net/http" "net/http"
"os"
- "runtime" - "runtime"
"strings" "strings"
"time" "time"
@ -75,5 +77,4 @@ index 4312eb0..5f62297 100644
func (c *CLI) fetchLatestRelease() error { func (c *CLI) fetchLatestRelease() error {
-- --
2.26.2 2.46.0

View file

@ -1,28 +0,0 @@
Backported from upstream PR: https://github.com/urfave/cli/pull/1299
---
diff --git a/app_test.go b/app_test.go
index 33024ff..6b3aaa3 100644
--- a/app_test.go
+++ b/app_test.go
@@ -513,18 +513,18 @@ func TestApp_RunAsSubcommandParseFlags(t *testing.T) {
func TestApp_RunAsSubCommandIncorrectUsage(t *testing.T) {
a := App{
Flags: []Flag{
- StringFlag{Name: "--foo"},
+ StringFlag{Name: "foo"},
},
Writer: bytes.NewBufferString(""),
}
set := flag.NewFlagSet("", flag.ContinueOnError)
- _ = set.Parse([]string{"", "---foo"})
+ _ = set.Parse([]string{"", "-bar"})
c := &Context{flagSet: set}
err := a.RunAsSubcommand(c)
- expect(t, err, errors.New("bad flag syntax: ---foo"))
+ expect(t, err.Error(), "flag provided but not defined: -bar")
}
func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) {

View file

@ -1,37 +0,0 @@
From upstream PR: https://github.com/urfave/cli/pull/1299
From: William Wilson <william.wilson@canonical.com>
Date: Tue, 31 Aug 2021 14:19:17 -0500
Subject: Make test case compatible with Go 1.17
As of Go 1.17, the go flag package will panic if given a syntactically invalid
flag. This causes TestApp_RunAsSubCommandIncorrectUsage to panic and therefore
fail. See https://golang.org/doc/go1.17#flag for more information.
---
diff --git a/app_test.go b/app_test.go
index 7c38f6048..76e211d68 100644
--- a/app_test.go
+++ b/app_test.go
@@ -476,18 +476,18 @@ func TestApp_RunAsSubCommandIncorrectUsage(t *testing.T) {
a := App{
Name: "cmd",
Flags: []Flag{
- &StringFlag{Name: "--foo"},
+ &StringFlag{Name: "foo"},
},
Writer: bytes.NewBufferString(""),
}
set := flag.NewFlagSet("", flag.ContinueOnError)
- _ = set.Parse([]string{"", "---foo"})
+ _ = set.Parse([]string{"", "-bar"})
c := &Context{flagSet: set}
err := a.RunAsSubcommand(c)
- expect(t, err, errors.New("bad flag syntax: ---foo"))
+ expect(t, err.Error(), "flag provided but not defined: -bar")
}
func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) {

View file

@ -34,6 +34,7 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check) #:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto) #:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web) #:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)) #:use-module (gnu packages golang-xyz))
@ -129,7 +130,7 @@ registry.")
(define-public go-github-com-prometheus-client-golang (define-public go-github-com-prometheus-client-golang
(package (package
(name "go-github-com-prometheus-client-golang") (name "go-github-com-prometheus-client-golang")
(version "1.19.1") (version "1.20.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -138,15 +139,27 @@ registry.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0mx5q221pbkx081ycf1lp8sxz513220ya8qczkkvab943cwlcarv")))) (base32 "1q3n22p5ic22xzha6mffh0m0jzbxrkyjrcmnxsnanl61jwb4rkpw"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Submodules with their own go.mod files and packaged separately:
;;
;; - dagger
;; - .bingo - fake module
(delete-file-recursively "dagger")
(delete-file-recursively ".bingo")))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:skip-build? #t
;; XXX: Check if the most of the tests may be enabled: ;; XXX: Check if the most of the tests may be enabled:
;; api/prometheus/v1/api_test.go:1063:23: cannot use 1634644800304 ;; api/prometheus/v1/api_test.go:1063:23: cannot use 1634644800304
;; (untyped int constant) as int value in map literal (overflows) ;; (untyped int constant) as int value in map literal (overflows)
#:tests? (target-64bit?) #:tests? (target-64bit?)
#:import-path "github.com/prometheus/client_golang" #:import-path "github.com/prometheus/client_golang"
;; Assertion fails in one test.
#:test-flags #~(list "-skip" "TestHandler")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples-and-tutorials (add-after 'unpack 'remove-examples-and-tutorials
@ -155,19 +168,14 @@ registry.")
(for-each delete-file-recursively (for-each delete-file-recursively
(list "api/prometheus/v1/example_test.go" (list "api/prometheus/v1/example_test.go"
"examples" "examples"
"tutorial"))))) "tutorials"))))))))
;; XXX: Workaround for go-build-system's lack of Go modules support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs (propagated-inputs
(list go-github-com-beorn7-perks (list go-github-com-beorn7-perks
go-github-com-cespare-xxhash-v2 go-github-com-cespare-xxhash-v2
go-github-com-davecgh-go-spew go-github-com-google-go-cmp
go-github-com-json-iterator-go go-github-com-json-iterator-go
go-github-com-klauspost-compress
go-github-com-kylelemons-godebug
go-github-com-prometheus-client-model go-github-com-prometheus-client-model
go-github-com-prometheus-common go-github-com-prometheus-common
go-github-com-prometheus-procfs go-github-com-prometheus-procfs
@ -213,7 +221,7 @@ Prometheus metrics.")
(define-public go-github-com-prometheus-common (define-public go-github-com-prometheus-common
(package (package
(name "go-github-com-prometheus-common") (name "go-github-com-prometheus-common")
(version "0.55.0") (version "0.61.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -222,7 +230,7 @@ Prometheus metrics.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0bsbxil7qz8rhckhv0844nmn38g7i7347cjv5m6na47hbdpi0rqh")) (base32 "0wng61rzvh27s2rlaadvjbffwgpn74p1wjrz6insl57k1pg3cmcn"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
#~(begin #~(begin
@ -289,16 +297,17 @@ metrics.")
(define-public go-github-com-prometheus-common-assets (define-public go-github-com-prometheus-common-assets
(package (package
(name "go-github-com-prometheus-common-assets") (name "go-github-com-prometheus-common-assets")
(version "0.55.0") (version "0.2.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/prometheus/common") (url "https://github.com/prometheus/common")
(commit (string-append "v" version)))) (commit (go-version->git-ref version
#:subdir "assets"))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0bsbxil7qz8rhckhv0844nmn38g7i7347cjv5m6na47hbdpi0rqh")))) (base32 "0r7sym4yaysbkc5anyypl57v9ay0a1flq00j85j7lcficl2scwrs"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
@ -369,7 +378,7 @@ from the default AWS credential chain.")
(define-public go-github-com-prometheus-community-pro-bing (define-public go-github-com-prometheus-community-pro-bing
(package (package
(name "go-github-com-prometheus-community-pro-bing") (name "go-github-com-prometheus-community-pro-bing")
(version "0.4.1") (version "0.5.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -378,15 +387,19 @@ from the default AWS credential chain.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1yz4cf1qrm1jrzw2yd5p08663hynk4ihlf5mi2fn6irnzh343a7b")))) (base32 "19757nqz0cpq7ir2w5xgjxpblhmkpk0j7spfw4j68agavbx6hxpm"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
;; Tests requiring network setup. ;; Tests requiring network setup, and root access.
#:test-flags #:test-flags
#~(list "-skip" (string-append "TestNewPingerValid" #~(list "-skip"
"|TestSetIPAddr" (string-join
"|TestSetResolveTimeout")) (list "TestNewPingerValid"
"TestSetIPAddr"
"TestSetInterfaceName"
"TestSetResolveTimeout")
"|"))
#:import-path "github.com/prometheus-community/pro-bing")) #:import-path "github.com/prometheus-community/pro-bing"))
(propagated-inputs (propagated-inputs
(list go-github-com-google-uuid (list go-github-com-google-uuid
@ -402,7 +415,7 @@ Protocol,ICMP} echo (ping) functionality.")
(define-public go-github-com-prometheus-exporter-toolkit (define-public go-github-com-prometheus-exporter-toolkit
(package (package
(name "go-github-com-prometheus-exporter-toolkit") (name "go-github-com-prometheus-exporter-toolkit")
(version "0.11.0") (version "0.13.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -411,7 +424,7 @@ Protocol,ICMP} echo (ping) functionality.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1n46jw3b13g355iv8phxxnnci7a877y5dscc1rlj3rpz4vy6yfzx")))) (base32 "05k4sfrc1zs96iprgnap0gd42vwfq47j6vg2bv83nckcv731gmiv"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
@ -433,6 +446,7 @@ Protocol,ICMP} echo (ping) functionality.")
(list go-github-com-alecthomas-kingpin-v2 (list go-github-com-alecthomas-kingpin-v2
go-github-com-coreos-go-systemd-v22 go-github-com-coreos-go-systemd-v22
go-github-com-go-kit-log go-github-com-go-kit-log
go-github-com-mdlayher-vsock
; Imported for go-github-com-prometheus-common to break the cycle. ; Imported for go-github-com-prometheus-common to break the cycle.
go-github-com-prometheus-client-golang go-github-com-prometheus-client-golang
go-github-com-prometheus-common go-github-com-prometheus-common
@ -494,10 +508,30 @@ Protocol,ICMP} echo (ping) functionality.")
kernel, and process metrics from the @file{/proc} pseudo file system.") kernel, and process metrics from the @file{/proc} pseudo file system.")
(license license:asl2.0))) (license license:asl2.0)))
;; To make it compatible with node_exporter, see
;; <https://github.com/prometheus/node_exporter/issues/3143>.
(define-public go-github-com-prometheus-procfs-next
(let ((commit "24ab3d8d880d820115eef19f7b0c2c38fffd6a25")
(revision "0"))
(hidden-package
(package
(inherit go-github-com-prometheus-procfs)
(name "go-github-com-prometheus-procfs")
(version (git-version "0.15.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/procfs")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0fv3f83q5wigbpl6mdpk4k7bj8jabc81rap0ym95l7rpw93cdlim"))))))))
(define-public go-github-com-prometheus-statsd-exporter (define-public go-github-com-prometheus-statsd-exporter
(package (package
(name "go-github-com-prometheus-statsd-exporter") (name "go-github-com-prometheus-statsd-exporter")
(version "0.27.1") (version "0.28.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -506,7 +540,7 @@ kernel, and process metrics from the @file{/proc} pseudo file system.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0y8n02h46q22wkcm2yy62bzsi9hxrarmvjamfpn2sygqhbb1pv38")))) (base32 "0h7ypmsx1j6x1p5wdj03i3jzwms7ab03asn2capl1gg6x07k57w7"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list

View file

@ -491,6 +491,7 @@ The plug-in is made to work with 1 or 2 channels (LADSPA plugin),
(arguments (arguments
`(#:import-path "github.com/noisetorch/NoiseTorch" `(#:import-path "github.com/noisetorch/NoiseTorch"
#:install-source? #f #:install-source? #f
#:test-subdirs '(".")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'copy-rnnoise-library (add-after 'unpack 'copy-rnnoise-library

View file

@ -39,6 +39,10 @@
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gstreamer) #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages hunspell) #:use-module (gnu packages hunspell)
@ -278,20 +282,21 @@ time to a logfile.")
(define-public dstask (define-public dstask
(package (package
(name "dstask") (name "dstask")
(version "0.26") (version "0.27")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/naggie/dstask") (url "https://github.com/naggie/dstask")
(commit (string-append "v" version)))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "10q0524gfc76k0v9cy0j60cbgmmwkpnkbvl6w0pn1j5y690514f5")))) (base32 "01vdxm3y5fg4hqhq4k1lk0m7w70kkwlka5jhixv7a9lf1gqldskd"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:import-path "github.com/naggie/dstask" `(#:import-path "github.com/naggie/dstask"
#:install-source? #f #:install-source? #f
#:test-subdirs '("pkg/..." ".")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'build (replace 'build
@ -314,6 +319,18 @@ time to a logfile.")
(install-file "dstask-import" bindir) (install-file "dstask-import" bindir)
(install-file ".dstask-bash-completions.sh" bash-completion) (install-file ".dstask-bash-completions.sh" bash-completion)
(install-file ".dstask-zsh-completions.sh" zsh-completion)))))))) (install-file ".dstask-zsh-completions.sh" zsh-completion))))))))
(native-inputs
(list go-github-com-burntsushi-toml
go-github-com-gofrs-uuid
go-github-com-mattn-go-isatty
go-github-com-mattn-go-runewidth
go-github-com-shurcool-githubv4
go-github-com-sirupsen-logrus
go-github-com-stretchr-testify
go-golang-org-x-oauth2
go-golang-org-x-sys
go-gopkg-in-yaml-v2
go-mvdan-cc-xurls-v2))
(synopsis "CLI-based TODO manager with git-based sync + markdown notes per task") (synopsis "CLI-based TODO manager with git-based sync + markdown notes per task")
(description "dstask is a personal task tracker that uses git for (description "dstask is a personal task tracker that uses git for
synchronization. It offers a note command to attach a Markdown based note to synchronization. It offers a note command to attach a Markdown based note to

View file

@ -990,34 +990,6 @@ minimalistic.")
(home-page "https://www.uninformativ.de/git/xiate/file/README.html") (home-page "https://www.uninformativ.de/git/xiate/file/README.html")
(license license:expat)))) (license license:expat))))
(define-public go-github.com-nsf-termbox-go
(let ((commit "288510b9734e30e7966ec2f22b87c5f8e67345e3")
(revision "1"))
(package
(name "go-github.com-nsf-termbox-go")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nsf/termbox-go")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0hdyisfaf8yb55h3p03p4sbq19546mp9fy28f2kn659mycmhxqk4"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/nsf/termbox-go"))
(propagated-inputs
(list go-github-com-mattn-go-runewidth))
(synopsis "@code{termbox} provides a minimal API for text-based user
interfaces")
(description
"Termbox is a library that provides a minimalistic API which allows the
programmer to write text-based user interfaces.")
(home-page "https://github.com/nsf/termbox-go")
(license license:expat))))
(define-public go-github-com-junegunn-fzf (define-public go-github-com-junegunn-fzf
(package (package
(name "go-github-com-junegunn-fzf") (name "go-github-com-junegunn-fzf")

View file

@ -1496,9 +1496,7 @@ of a Unix terminal to HTML code.")
(define-public vale (define-public vale
(package (package
(name "vale") (name "vale")
;; Newer versions requires <github.com/smacker/go-tree-sitter> which is (version "3.9.4")
;; quite a large project to pack.
(version "3.4.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1506,49 +1504,35 @@ of a Unix terminal to HTML code.")
(url "https://github.com/errata-ai/vale") (url "https://github.com/errata-ai/vale")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "15f8ggh7hpfmfpszl9qkdfz19kds6gg6x5dgcqy0v6jrcsdbgpgp")) (base32 "009gyrn2mi7bg10v6mqrr6c6ii5l2vbhs7mvh7g4xxgqhaqzpbhp"))
(file-name (git-file-name name version)) (file-name (git-file-name name version))))
(modules '((guix build utils)))
(snippet
#~(begin
;; Module name has been changed upstream.
(substitute* (find-files "." "\\.go$")
(("github.com/antonmedv/expr") "github.com/expr-lang/expr"))))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:go go-1.23
#:install-source? #f #:install-source? #f
#:embed-files #~(list ".*\\.gob") #:embed-files #~(list ".*\\.gob")
#:import-path "github.com/errata-ai/vale/cmd/vale" #:import-path "github.com/errata-ai/vale/cmd/vale"
#:unpack-path "github.com/errata-ai/vale" #:unpack-path "github.com/errata-ai/vale"
;; Disable tests requring network access: Get
;; "https://raw.githubusercontent.com/errata-ai/styles/master/library.json":
;; dial tcp: lookup raw.githubusercontent.com on [::1]:53: read udp
;; [::1]:52621->[::1]:53: read: connection refused.
#:test-flags
#~(list "-skip" (string-join
(list "TestLibrary"
"TestNoPkgFound"
"TestSymlinkFixture")
"|"))
#:test-subdirs
#~(list "../../...") ; test whole libary, starting from import-path
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
;; Disable tests requring network access: Get (add-before 'check 'pre-check
;; "https://raw.githubusercontent.com/errata-ai/styles/master/library.json": (lambda _
;; dial tcp: lookup raw.githubusercontent.com on [::1]:53: (setenv "HOME" "/tmp"))))))
;; read udp [::1]:52621->[::1]:53: read: connection refused.
(add-after 'unpack 'disable-failing-tests
(lambda* (#:key tests? unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(substitute* (find-files "." "\\_test.go$")
(("TestLibrary") "OffTestLibrary")
(("TestLocalComplete") "OffTestLocalComplete")
(("TestLocalDir") "OffTestLocalDir")
(("TestLocalOnlyStyles") "OffTestLocalOnlyStyles")
(("TestLocalZip") "OffTestLocalZip")
(("TestNoPkgFound") "OffTestNoPkgFound")
(("TestV3Pkg") "OffTestV3Pkg")))))
;; XXX: Workaround for go-build-system's lack of Go modules
;; support.
(replace 'check
(lambda* (#:key tests? unpack-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" unpack-path)
(setenv "HOME" "/tmp")
(invoke "go" "test" "-v" "./..."))))))))
(native-inputs (native-inputs
(list go-github-com-masterminds-sprig-v3 (list go-github-com-adrg-strutil
go-github-com-adrg-strutil
go-github-com-adrg-xdg go-github-com-adrg-xdg
go-github-com-bmatcuk-doublestar-v4 go-github-com-bmatcuk-doublestar-v4
go-github-com-d5-tengo-v2 go-github-com-d5-tengo-v2
@ -1556,16 +1540,20 @@ of a Unix terminal to HTML code.")
go-github-com-errata-ai-regexp2 go-github-com-errata-ai-regexp2
go-github-com-expr-lang-expr go-github-com-expr-lang-expr
go-github-com-gobwas-glob go-github-com-gobwas-glob
go-github-com-jdkato-go-tree-sitter-julia
go-github-com-jdkato-twine go-github-com-jdkato-twine
go-github-com-karrick-godirwalk go-github-com-masterminds-sprig-v3
go-github-com-mholt-archiver-v3
go-github-com-mitchellh-mapstructure go-github-com-mitchellh-mapstructure
go-github-com-niklasfasching-go-org go-github-com-niklasfasching-go-org
go-github-com-olekukonko-tablewriter go-github-com-olekukonko-tablewriter
go-github-com-otiai10-copy go-github-com-otiai10-copy
go-github-com-pelletier-go-toml-v2
go-github-com-pterm-pterm go-github-com-pterm-pterm
go-github-com-remeh-sizedwaitgroup go-github-com-remeh-sizedwaitgroup
go-github-com-smacker-go-tree-sitter
go-github-com-spf13-pflag go-github-com-spf13-pflag
go-github-com-stretchr-testify
go-github-com-tomwright-dasel-v2
go-github-com-yuin-goldmark go-github-com-yuin-goldmark
go-golang-org-x-exp go-golang-org-x-exp
go-golang-org-x-net go-golang-org-x-net

View file

@ -49,7 +49,6 @@
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages geo) #:use-module (gnu packages geo)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-xyz) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -696,7 +695,7 @@ choosing.")
(list (list
#:import-path "github.com/antonmedv/countdown")) #:import-path "github.com/antonmedv/countdown"))
(native-inputs (native-inputs
(list go-github.com-nsf-termbox-go)) (list go-github-com-nsf-termbox-go))
(home-page "https://github.com/antonmedv/countdown") (home-page "https://github.com/antonmedv/countdown")
(synopsis "Counts to zero with a text user interface") (synopsis "Counts to zero with a text user interface")
(description (description

View file

@ -216,7 +216,7 @@ Browser.")
"16zyixbddwaiw1bzsai5crdg58kmacshsr0rp37m85qk0a8vryg3")))) "16zyixbddwaiw1bzsai5crdg58kmacshsr0rp37m85qk0a8vryg3"))))
(build-system mozilla-build-system) (build-system mozilla-build-system)
(inputs (inputs
(list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird (list lyrebird
firefox-locales firefox-locales
tor-client tor-client
alsa-lib alsa-lib
@ -956,7 +956,7 @@ Mullvad Browser.")
(delete 'autoconfig-tor))))) (delete 'autoconfig-tor)))))
(inputs (inputs
(modify-inputs (package-inputs torbrowser) (modify-inputs (package-inputs torbrowser)
(delete go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird))) (delete lyrebird)))
(propagated-inputs (propagated-inputs
(modify-inputs (package-propagated-inputs torbrowser) (modify-inputs (package-propagated-inputs torbrowser)
(append ublock-origin/icecat))) (append ublock-origin/icecat)))

View file

@ -59,6 +59,8 @@
;;; Copyright © 2024 Javier Olaechea <pirata@gmail.com> ;;; Copyright © 2024 Javier Olaechea <pirata@gmail.com>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se> ;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu> ;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -126,6 +128,7 @@
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check) #:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-crypto) #:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-vcs)
#:use-module (gnu packages golang-web) #:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages groff) #:use-module (gnu packages groff)
@ -980,6 +983,125 @@ the date of the most recent commit that modified them
@end itemize") @end itemize")
(license license:gpl3+))) (license license:gpl3+)))
(define-public git-spice
(package
(name "git-spice")
(version "0.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/abhinav/git-spice")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1yvnd5a3ql905jrxh0sq9sdcfmyq38fsbqx0zbhxbd4rgs8hv5s3"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.23
#:import-path "go.abhg.dev/gs"
#:install-source? #f
#:test-flags
#~(list "-skip"
(string-join
;; XXX: Tests failing with various reasons; requiring
;; networking config or write access, or outbound access, check
;; if some of them may be fixed.
(list "TestDeviceFlowAuthenticator"
"TestScript/auth_detect_forge"
"TestScript/auth_explicit_forge"
"TestScript/auth_insecure_storage"
"TestScript/auth_prompt_forge"
"TestScript/branch_split_reassign_submitted"
"TestScript/branch_submit_ambiguous_branch"
"TestScript/branch_submit_by_name"
"TestScript/branch_submit_config_no_publish"
"TestScript/branch_submit_create_update"
"TestScript/branch_submit_detect_existing"
"TestScript/branch_submit_detect_existing_conflict"
"TestScript/branch_submit_detect_existing_upstream_name"
"TestScript/branch_submit_force_push"
"TestScript/branch_submit_long_body"
"TestScript/branch_submit_many_upstream_names_taken"
"TestScript/branch_submit_multiple_commits"
"TestScript/branch_submit_multiple_pr_templates"
"TestScript/branch_submit_navigation_.*_out_multiple"
"TestScript/branch_submit_needs_restack"
"TestScript/branch_submit_no_editor"
"TestScript/branch_submit_no_publish"
"TestScript/branch_submit_pr_template"
"TestScript/branch_submit_pr_template_cache_invalidation"
"TestScript/branch_submit_pr_template_no_body"
"TestScript/branch_submit_pr_template_prompt"
"TestScript/branch_submit_recover_prepared"
"TestScript/branch_submit_remote_prompt"
"TestScript/branch_submit_rename"
"TestScript/branch_submit_rename_base"
"TestScript/branch_submit_update_pr_is_closed"
"TestScript/branch_submit_update_pr_is_merged"
"TestScript/branch_submit_upstream_name"
"TestScript/branch_submit_upstream_name_wrong_remote"
"TestScript/branch_submit_use_git_editor"
"TestScript/branch_submit_web"
"TestScript/branch_submit_web_opt_out"
"TestScript/downstack_submit"
"TestScript/issue369_branch_.*_case_insensitive"
"TestScript/issue369_branch_.*_remote_update"
"TestScript/issue398_repo_sync_many_merged"
"TestScript/repo_sync_after_merging_renamed_branch"
"TestScript/repo_sync_detached_head"
"TestScript/repo_sync_detect_externally_created_prs"
"TestScript/repo_sync_external_pr_head_mismatch"
"TestScript/repo_sync_manual_pull_merged_pr"
"TestScript/repo_sync_merged_pr"
"TestScript/repo_sync_remote_already_deleted"
"TestScript/repo_sync_restack"
"TestScript/repo_sync_trunk_dirty_tree"
"TestScript/repo_sync_trunk_no_prs"
"TestScript/repo_sync_unpushed_commits"
"TestScript/stack_submit"
"TestScript/stack_submit_update_leave_draft"
"TestScript/stack_submit_web"
"TestScript/upstack_submit_main")
"|"))))
(native-inputs
(list git-minimal ; for tests in testdata/scripts
go-github-com-alecthomas-kong
go-github-com-buildkite-shellwords
go-github-com-charmbracelet-bubbles
go-github-com-charmbracelet-bubbletea
go-github-com-charmbracelet-lipgloss
go-github-com-charmbracelet-log
go-github-com-cli-browser
go-github-com-creack-pty
go-github-com-dustin-go-humanize
go-github-com-mattn-go-isatty
go-github-com-rogpeppe-go-internal
go-github-com-sahilm-fuzzy
go-github-com-shurcool-githubv4
go-github-com-stretchr-testify
go-github-com-tidwall-gjson
go-github-com-vito-midterm
go-github-com-xanzy-go-gitlab
go-github-com-zalando-go-keyring
go-go-abhg-dev-komplete
go-go-abhg-dev-requiredfield
go-go-abhg-dev-testing-stub
go-go-uber-org-mock
go-golang-org-x-oauth2
go-gopkg-in-dnaeon-go-vcr-v4
go-gopkg-in-yaml-v3
go-pgregory-net-rapid))
(home-page "https://go.abhg.dev/gs")
(synopsis "Manage stacks of Git branches")
(description
"git-spice (@code{gs}) is a command line tool for stacking Git branches,
a collection of branches expecting the trunk has a base branch. It manages
and navigates stacks of branches, conveniently modifies and rebases them also
provides an integration with GitHub and GitLab.")
(license license:gpl3)))
(define-public got (define-public got
(package (package
(name "got") (name "got")
@ -3812,7 +3934,7 @@ will reconstruct the object along its delta-base chain and return it.")
(define-public git-lfs (define-public git-lfs
(package (package
(name "git-lfs") (name "git-lfs")
(version "3.4.0") (version "3.6.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -3821,13 +3943,14 @@ will reconstruct the object along its delta-base chain and return it.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ljjs8kyznp2ifkqdcd9q3550sknyx5qxx247icwkd9djjq7x74m")))) "09ry2nq5bpdxk446dyhc0d6d85wy5x2i5ckwwg9r00a3zdp5v4ry"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:embed-files #~(list "children" "nodes" "text") #:embed-files #~(list "children" "nodes" "text")
#:import-path "github.com/git-lfs/git-lfs" #:import-path "github.com/git-lfs/git-lfs"
#:install-source? #f #:install-source? #f
#:test-flags #~(list "-skip" "TestHistoryRewriterUpdatesRefs")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-/bin/sh (add-after 'unpack 'patch-/bin/sh
@ -3863,24 +3986,25 @@ will reconstruct the object along its delta-base chain and return it.")
(list ronn-ng ruby-asciidoctor) (list ronn-ng ruby-asciidoctor)
'()))) '())))
(propagated-inputs (propagated-inputs
(list go-github-com-xeipuuv-gojsonschema (list go-github-com-avast-retry-go
go-github-com-xeipuuv-gojsonreference go-github-com-dpotapov-go-spnego
go-github-com-xeipuuv-gojsonpointer go-github-com-git-lfs-gitobj-v2
go-github-com-git-lfs-go-netrc
go-github-com-git-lfs-pktline
go-github-com-git-lfs-wildmatch-v2
go-github-com-jmhodges-clock
go-github-com-leonelquinteros-gotext
go-github-com-mattn-go-isatty
go-github-com-olekukonko-ts
go-github-com-pkg-errors
go-github-com-rubyist-tracerx
go-github-com-spf13-cobra
go-github-com-ssgelm-cookiejarparser
go-github-com-stretchr-testify
go-github-com-xeipuuv-gojsonschema
go-golang-org-x-net go-golang-org-x-net
go-golang-org-x-sync go-golang-org-x-sync
go-github-com-ssgelm-cookiejarparser go-golang-org-x-sys))
go-github-com-rubyist-tracerx
go-github-com-olekukonko-ts
go-github-com-leonelquinteros-gotext
go-github-com-git-lfs-wildmatch-v2
go-github-com-git-lfs-pktline
go-github-com-git-lfs-go-netrc
go-github-com-git-lfs-gitobj-v2
go-github-com-dpotapov-go-spnego
go-github-com-avast-retry-go
go-github-com-mattn-go-isatty
go-github-com-pkg-errors
go-github-com-spf13-cobra))
(home-page "https://git-lfs.github.com/") (home-page "https://git-lfs.github.com/")
(synopsis "Git extension for versioning large files") (synopsis "Git extension for versioning large files")
(description (description
@ -4055,59 +4179,6 @@ of machine readable. This helps improve code quality and helps you spot
defects faster.") defects faster.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-go-git-go-git-v5
(package
(name "go-github-com-go-git-go-git-v5")
(version "5.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/go-git/go-git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1vkcmhh2qq8c38sjbnzf0wvg2rzr19wssaq177bsvrjwj1xz1qbs"))))
(build-system go-build-system)
(arguments
(list
#:tests? #f ;requires network connection
#:import-path "github.com/go-git/go-git/v5"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'setup
(lambda* (#:key inputs #:allow-other-keys)
(let* ((git #$(this-package-native-input "git"))
(git-bin (string-append git "/bin"))
(git-exe (string-append git-bin "/git")))
(setenv "GIT_DIST_PATH=" git)
(setenv "GIT_EXEC_PATH=" git-bin)
(setenv "HOME" (getcwd))
(invoke git-exe "config" "--global" "user.email" "gha@example.com")
(invoke git-exe "config" "--global" "user.name" "GitHub Actions")))))))
(propagated-inputs
(list go-github-com-alcortesm-tgz
go-github-com-emirpasic-gods
go-github-com-go-git-gcfg
go-github-com-go-git-go-billy-v5
go-github-com-go-git-go-git-fixtures-v4
go-github-com-imdario-mergo
go-github-com-jbenet-go-context
go-github-com-kevinburke-ssh-config
go-github-com-mitchellh-go-homedir
go-github-com-sergi-go-diff
go-github-com-xanzy-ssh-agent
go-golang-org-x-crypto
go-golang-org-x-net
go-golang-org-x-text
go-gopkg-in-check-v1
go-gopkg-in-warnings))
(native-inputs (list git))
(home-page "https://github.com/go-git/")
(synopsis "Git implementation library")
(description "This package provides a Git implementation library.")
(license license:asl2.0)))
(define-public gita (define-public gita
(let ((commit "e41b504dca90a25e9be27f296da7ce22e5782893") (let ((commit "e41b504dca90a25e9be27f296da7ce22e5782893")
(revision "1")) (revision "1"))
@ -4171,7 +4242,7 @@ If several repos are related, it helps to see their status together.")
(define-public ghq (define-public ghq
(package (package
(name "ghq") (name "ghq")
(version "1.6.2") (version "1.7.1")
(home-page "https://github.com/x-motemen/ghq") (home-page "https://github.com/x-motemen/ghq")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -4181,7 +4252,7 @@ If several repos are related, it helps to see their status together.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"00rrm0gykmj60i0lnr4js6d4193c92zm3cimimb03xva4n9frvxw")))) "0ai3klp3fm5r0idnml5pm55wcvkav3w0s11snlmr0ab1ki8m9sg5"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
@ -4204,13 +4275,14 @@ If several repos are related, it helps to see their status together.")
(native-inputs (native-inputs
(list git-minimal)) (list git-minimal))
(inputs (inputs
(list go-github-com-songmu-gitconfig (list go-github-com-mattn-go-isatty
go-github-com-mattn-go-isatty
go-github-com-motemen-go-colorine go-github-com-motemen-go-colorine
go-github-com-saracen-walker go-github-com-saracen-walker
go-github-com-songmu-gitconfig
go-github-com-urfave-cli-v2 go-github-com-urfave-cli-v2
go-golang-org-x-net go-golang-org-x-net
go-golang-org-x-sync)) go-golang-org-x-sync
go-golang-org-x-text))
(synopsis "Manage remote repository clones") (synopsis "Manage remote repository clones")
(description (description
"@code{ghq} provides a way to organize remote repository clones, like "@code{ghq} provides a way to organize remote repository clones, like

View file

@ -2290,6 +2290,7 @@ Open Container Initiative specification.")
(package (package
(name "umoci") (name "umoci")
(version "0.4.7") (version "0.4.7")
;; XXX: Source contain vendor, consider to pack all missing dependencies.
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2303,6 +2304,7 @@ Open Container Initiative specification.")
(arguments (arguments
'(#:import-path "github.com/opencontainers/umoci" '(#:import-path "github.com/opencontainers/umoci"
#:install-source? #f #:install-source? #f
#:test-subdirs '(".")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'unpack (replace 'unpack

View file

@ -370,12 +370,6 @@ and its related documentation.")
#$version)) #$version))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
;; XXX: Replace when go-build-system supports nested path.
(replace 'check
(lambda* (#:key import-path tests? #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./...")))))
(add-after 'install 'install-manpage (add-after 'install 'install-manpage
(lambda* (#:key import-path #:allow-other-keys) (lambda* (#:key import-path #:allow-other-keys)
(let ((man1 (string-append #$output "/share/man/man1/")) (let ((man1 (string-append #$output "/share/man/man1/"))
@ -402,8 +396,7 @@ and its related documentation.")
go-golang-org-x-net go-golang-org-x-net
go-golang-org-x-oauth2 go-golang-org-x-oauth2
go-golang-org-x-term go-golang-org-x-term
go-golang-org-x-text go-golang-org-x-text))
go-mvdan-cc-xurls-v2))
(home-page "https://miniflux.app/") (home-page "https://miniflux.app/")
(synopsis "Minimalist and opinionated feed reader") (synopsis "Minimalist and opinionated feed reader")
(description (description
@ -1961,7 +1954,7 @@ UTS#46.")
(define-public esbuild (define-public esbuild
(package (package
(name "esbuild") (name "esbuild")
(version "0.14.0") (version "0.24.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1970,43 +1963,28 @@ UTS#46.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "09r1xy0kk6c9cpz6q0mxr4why373pwxbm439z2ihq3k1d5kk7x4w")) (base32 "1j99m7rdql6iq3llrr8bm85hq34ssc8bmb6vhwr1ibgspjl0jd3k"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin #~(begin
;; Remove prebuilt binaries ;; Remove prebuilt binaries
(delete-file-recursively "npm") (delete-file-recursively "npm")))))
#t))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:import-path "github.com/evanw/esbuild/cmd/esbuild" (list
#:unpack-path "github.com/evanw/esbuild" #:import-path "github.com/evanw/esbuild/cmd/esbuild"
#:phases #:unpack-path "github.com/evanw/esbuild"
(modify-phases %standard-phases #:test-flags #~(list #$(if (target-64bit?) "-race" "-short"))
(replace 'check ;; Test subdirectories are compiled from #:import-path.
(lambda* (#:key tests? unpack-path #:allow-other-keys) #:test-subdirs #~(list "../../internal/..." "../../pkg/..." )))
(when tests?
;; The "Go Race Detector" is only supported on 64-bit
;; platforms, this variable disables it.
;; TODO: Causes too many rebuilds, rewrite to limit to x86_64,
;; aarch64 and ppc64le.
,(if (target-riscv64?)
`(setenv "ESBUILD_RACE" "")
`(unless ,(target-64bit?)
(setenv "ESBUILD_RACE" "")))
(with-directory-excursion (string-append "src/" unpack-path)
(invoke "make" "test-go")))
#t)))))
(inputs (inputs
`(("golang.org/x/sys" ,go-golang-org-x-sys))) (list go-golang-org-x-sys-for-esbuild))
(native-inputs
`(("github.com/kylelemons/godebug" ,go-github-com-kylelemons-godebug)))
(home-page "https://esbuild.github.io/") (home-page "https://esbuild.github.io/")
(synopsis "Bundler and minifier tool for JavaScript and TypeScript") (synopsis "Bundler and minifier tool for JavaScript and TypeScript")
(description (description
"The esbuild tool provides a unified bundler, transpiler and "The esbuild tool provides a unified bundler, transpiler and minifier.
minifier. It packages up JavaScript and TypeScript code, along with JSON It packages up JavaScript and TypeScript code, along with JSON and other data,
and other data, for distribution on the web.") for distribution on the web.")
(license license:expat))) (license license:expat)))
(define-public tinyproxy (define-public tinyproxy
@ -5550,13 +5528,17 @@ you'd expect.")
"0s7c8r6y5jv6wda2v3k47hawfdr9j3rwk717l6byvh5qsbbml0vd")))) "0s7c8r6y5jv6wda2v3k47hawfdr9j3rwk717l6byvh5qsbbml0vd"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:import-path "github.com/mikefarah/yq/v4" (list
#:phases #:skip-build? #t
#~(modify-phases %standard-phases #:import-path "github.com/mikefarah/yq/v4"
(add-after 'install 'remove-binary #:phases
(lambda _ #~(modify-phases %standard-phases
(delete-file-recursively ;; Tests need this.
(string-append #$output "/bin"))))))) (add-after 'unpack 'fix-access-to-doc
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(for-each make-file-writable
(find-files "./pkg/yqlib/doc" "\\.md"))))))))
(propagated-inputs (propagated-inputs
(list go-github-com-a8m-envsubst (list go-github-com-a8m-envsubst
go-github-com-alecthomas-participle-v2 go-github-com-alecthomas-participle-v2
@ -5591,14 +5573,12 @@ JSON, XML, properties, CSV and TSV.")
(inherit go-github-com-mikefarah-yq-v4) (inherit go-github-com-mikefarah-yq-v4)
(name "yq") (name "yq")
(arguments (arguments
(list #:install-source? #f (substitute-keyword-arguments
#:import-path "github.com/mikefarah/yq/v4" (package-arguments go-github-com-mikefarah-yq-v4)
#:phases ((#:install-source? _ #t) #f)
#~(modify-phases %standard-phases ((#:skip-build? _ #t) #f)
(add-after 'install 'rename-binary ((#:tests? _ #t) #f)
(lambda _ ((#:import-path _) "github.com/mikefarah/yq")))
(rename-file (string-append #$output "/bin/v4")
(string-append #$output "/bin/yq")))))))
(propagated-inputs '()) (propagated-inputs '())
(inputs (package-propagated-inputs go-github-com-mikefarah-yq-v4)))) (inputs (package-propagated-inputs go-github-com-mikefarah-yq-v4))))
@ -9011,7 +8991,7 @@ Anonip can also be uses as a Python module in your own Python application.")
"0kckcwvqklavd855np9aq5js6mg84isrlwchr504yigwma0sm7hm")))) "0kckcwvqklavd855np9aq5js6mg84isrlwchr504yigwma0sm7hm"))))
(build-system go-build-system) (build-system go-build-system)
(propagated-inputs (propagated-inputs
(list go-github-com-robfig-cron go-golang-org-x-time)) (list go-github-com-robfig-cron-v3 go-golang-org-x-time))
(arguments (arguments
`(#:import-path "github.com/tsileo/poussetaches")) `(#:import-path "github.com/tsileo/poussetaches"))
(home-page "https://github.com/tsileo/poussetaches") (home-page "https://github.com/tsileo/poussetaches")

View file

@ -204,8 +204,10 @@ commit hash and its date rather than a proper release tag."
(import-path "") (import-path "")
(unpack-path "") (unpack-path "")
(build-flags ''()) (build-flags ''())
(skip-build? #f)
(tests? #t) (tests? #t)
(test-flags ''()) (test-flags ''())
(test-subdirs ''("..."))
(parallel-build? #t) (parallel-build? #t)
(parallel-tests? #t) (parallel-tests? #t)
(allow-go-reference? #f) (allow-go-reference? #f)
@ -238,8 +240,10 @@ commit hash and its date rather than a proper release tag."
#:import-path #$import-path #:import-path #$import-path
#:unpack-path #$unpack-path #:unpack-path #$unpack-path
#:build-flags #$build-flags #:build-flags #$build-flags
#:skip-build? #$skip-build?
#:tests? #$tests? #:tests? #$tests?
#:test-flags #$test-flags #:test-flags #$test-flags
#:test-subdirs #$test-subdirs
#:parallel-build? #$parallel-build? #:parallel-build? #$parallel-build?
#:parallel-tests? #$parallel-tests? #:parallel-tests? #$parallel-tests?
#:allow-go-reference? #$allow-go-reference? #:allow-go-reference? #$allow-go-reference?
@ -263,8 +267,10 @@ commit hash and its date rather than a proper release tag."
(import-path "") (import-path "")
(unpack-path "") (unpack-path "")
(build-flags ''()) (build-flags ''())
(skip-build? #f)
(tests? #f) ; nothing can be done (tests? #f) ; nothing can be done
(test-flags ''()) (test-flags ''())
(test-subdirs ''("..."))
(allow-go-reference? #f) (allow-go-reference? #f)
(system (%current-system)) (system (%current-system))
(goarch (first (go-target target))) (goarch (first (go-target target)))
@ -315,8 +321,10 @@ commit hash and its date rather than a proper release tag."
#:import-path #$import-path #:import-path #$import-path
#:unpack-path #$unpack-path #:unpack-path #$unpack-path
#:build-flags #$build-flags #:build-flags #$build-flags
#:skip-build? #$skip-build?
#:tests? #$tests? #:tests? #$tests?
#:test-flags #$test-flags #:test-flags #$test-flags
#:test-subdirs #$test-subdirs
#:make-dynamic-linker-cache? #f ;cross-compiling #:make-dynamic-linker-cache? #f ;cross-compiling
#:allow-go-reference? #$allow-go-reference? #:allow-go-reference? #$allow-go-reference?
#:inputs %build-inputs)))) #:inputs %build-inputs))))

View file

@ -98,6 +98,10 @@
;; * Remove module packages, only offering the full Git repos? This is ;; * Remove module packages, only offering the full Git repos? This is
;; more idiomatic, I think, because Go downloads Git repos, not modules. ;; more idiomatic, I think, because Go downloads Git repos, not modules.
;; What are the trade-offs? ;; What are the trade-offs?
;; * Figurie out how to passthrough --verbosity option to "build" and "check"
;; procedures.
;; * Implement test-backend option, which would be similar to pyproject's
;; one, allowing to provide custom test runner.
;; ;;
;; [0] `go build`: ;; [0] `go build`:
;; https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies ;; https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies
@ -283,35 +287,71 @@ unpacking."
(_ #f)) (_ #f))
inputs)))) inputs))))
(define* (build #:key import-path build-flags (parallel-build? #t) (define* (build #:key
build-flags
skip-build?
import-path
(parallel-build? #t)
(verbosity 1)
#:allow-other-keys) #:allow-other-keys)
"Build the package named by IMPORT-PATH." "Build the package named by IMPORT-PATH."
(let* ((njobs (if parallel-build? (parallel-job-count) 1))) (let* ((njobs (if parallel-build? (parallel-job-count) 1))
;; Utilizing GOFLAGS for flexible build options passthrough, refer
;; for more examples to online documentation of Golang
;; <https://go.dev/src/cmd/go/testdata/script/goflags.txt>.
(goflags (string-join
(list
;; Print the name of packages (pathes) as they are compiled.
"-v"
;; Print each command as it is invoked. When enabled, it
;; generates a lot of noisy logs which makes identifying
;; build failures harder to determine.
(if (> verbosity 1) "-x" ""))
" ")))
(setenv "GOFLAGS" goflags)
(setenv "GOMAXPROCS" (number->string njobs))) (setenv "GOMAXPROCS" (number->string njobs)))
(with-throw-handler (with-throw-handler
#t #t
(lambda _ (lambda _
(apply invoke "go" "install" (if skip-build?
"-v" ; print the name of packages as they are compiled (begin
"-x" ; print each command as it is invoked (format #t "Build is skipped, no go files in project's root.~%")
;; Respectively, strip the symbol table and debug #t)
;; information, and the DWARF symbol table. (apply invoke "go" "install"
"-ldflags=-s -w" ;; Respectively, strip the symbol table and debug
"-trimpath" ;; information, and the DWARF symbol table.
`(,@build-flags ,import-path))) "-ldflags=-s -w"
;; Remove all file system paths from the resulting
;; executable. Instead of absolute file system paths, the
;; recorded file names will begin either a module
;; path@version (when using modules), or a plain import path
;; (when using the standard library, or GOPATH).
"-trimpath"
`(,@build-flags ,import-path))))
(lambda (key . args) (lambda (key . args)
(display (string-append "Building '" import-path "' failed.\n" (display (string-append "Building '" import-path "' failed.\n"
"Here are the results of `go env`:\n")) "Here are the results of `go env`:\n"))
(invoke "go" "env")))) (invoke "go" "env"))))
(define* (check #:key tests? import-path test-flags (parallel-tests? #t) (define* (check #:key
tests?
import-path
test-flags
test-subdirs
(parallel-tests? #t)
#:allow-other-keys) #:allow-other-keys)
"Run the tests for the package named by IMPORT-PATH." "Run the tests for the package named by IMPORT-PATH."
(when tests? (when tests?
(let* ((njobs (if parallel-tests? (parallel-job-count) 1))) (let* ((njobs (if parallel-tests? (parallel-job-count) 1)))
(setenv "GOMAXPROCS" (number->string njobs))) (setenv "GOMAXPROCS" (number->string njobs)))
(apply invoke "go" "test" `(,import-path ,@test-flags))) (apply invoke "go" "test"
`(,@(map (lambda (dir)
(format #f "~a~:[/~;~]~a"
import-path (string-null? dir) dir))
test-subdirs)
,@test-flags)))
#t) #t)
(define* (install #:key install-source? outputs import-path unpack-path #:allow-other-keys) (define* (install #:key install-source? outputs import-path unpack-path #:allow-other-keys)