1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-15 11:30:44 +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-crypto.scm \
%D%/packages/golang-maths.scm \
%D%/packages/golang-vcs.scm \
%D%/packages/golang-web.scm \
%D%/packages/golang-xyz.scm \
%D%/packages/gperf.scm \
@ -1507,8 +1508,6 @@ dist_patch_DATA = \
%D%/packages/patches/go-fix-script-tests.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-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-wraparound-wrap-free-fonts.patch \
%D%/packages/patches/go-skip-gc-test.patch \

View file

@ -70,6 +70,7 @@
;;; Copyright © 2024 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2024 nathan <nathan_mail@nborghese.com>
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;; Copyright © 2025 Dariqq <dariqq@posteo.net>
@ -148,7 +149,10 @@
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
@ -285,6 +289,53 @@ usual file attributes can be checked for inconsistencies.")
(home-page "https://aide.github.io/")
(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
(package
(name "progress")
@ -5463,7 +5514,6 @@ disk utilization, priority, username, state, and exit code.")
(list
#:install-source? #f
#:import-path "github.com/linuxboot/fiano"
#:unpack-path "github.com/linuxboot/fiano"
#:phases
#~(modify-phases %standard-phases
;; 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)))
(list "cbfs"
"create-ffs"
;; TODO: Not packed yet in guix, long jorney:
;; - github.com/tjfoc/gmsm
;;
;; "fittool"
"fittool"
"fmap"
"fspinfo"
"glzma"
@ -5493,20 +5540,14 @@ disk utilization, priority, username, state, and exit code.")
(invoke "go" "test" "-v"
(string-append import-path dir "/...")))
(list "/pkg/bytes"
;; TODO: Not packed yet in Guix, long jorney:
;; - github.com/jedib0t
;;
;; "/pkg/amd"
"/pkg/amd"
"/pkg/cbfs"
"/pkg/compression"
"/pkg/fmap"
"/pkg/fsp"
"/pkg/guid"
"/pkg/guid2english"
;; TODO: Not packed yet in Guix, long jorney:
;; - github.com/tjfoc/gmsm
;;
;; "/pkg/intel"
"/pkg/intel"
"/pkg/knownguids"
"/pkg/log"
"/pkg/uefi"
@ -5533,7 +5574,7 @@ disk utilization, priority, username, state, and exit code.")
(install-file cmd bindir))
(list "cbfs"
"create-ffs"
;; "fittool"
"fittool"
"fmap"
"fspinfo"
"glzma"
@ -5542,11 +5583,18 @@ disk utilization, priority, username, state, and exit code.")
"utk"))))))))
(inputs
(list go-github-com-dustin-go-humanize
go-github-com-fatih-camelcase
go-github-com-hashicorp-go-multierror
go-github-com-jedib0t-go-pretty-v6
go-github-com-jessevdk-go-flags
go-github-com-klauspost-compress
go-github-com-pierrec-lz4
go-github-com-spf13-pflag
go-github-com-stretchr-testify
go-github-com-tjfoc-gmsm
go-github-com-ulikunitz-xz
go-github-com-xaionaro-go-bytesextra
go-github-com-xaionaro-gosrc
go-golang-org-x-text))
(home-page "https://github.com/linuxboot/fiano")
(synopsis "UEFI image editor")
@ -5701,7 +5749,7 @@ FIFO and UNIX interprocess communication.")
(define-public runitor
(package
(name "runitor")
(version "0.8.0")
(version "1.3.0-build.4")
(source
(origin
(method git-fetch)
@ -5710,7 +5758,7 @@ FIFO and UNIX interprocess communication.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vjfbyrbp5ywgzdz9j3x0qgjvnq7nw7193x8v9yy6k2cih1zsacn"))))
(base32 "00l83jcjmf5kcq8yzq575kk6ljkkr2xhm5cx27zzb1yhxn93xj7n"))))
(build-system go-build-system)
(arguments
`(#:unpack-path "bdd.fi/x/runitor"
@ -6353,7 +6401,7 @@ file or files to several hosts.")
(define-public doctl
(package
(name "doctl")
(version "1.94.0")
(version "1.120.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -6362,7 +6410,12 @@ file or files to several hosts.")
(file-name (git-file-name name version))
(sha256
(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)
(arguments
(list #:import-path "github.com/digitalocean/doctl/cmd/doctl"
@ -6392,6 +6445,17 @@ file or files to several hosts.")
"/etc/fish/completions/doctl.fish")
(install-completion "zsh"
"/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")
(synopsis "Command line client for DigitalOcean")
(description

View file

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

View file

@ -24460,9 +24460,9 @@ for nanopore cDNA, native RNA, and PacBio sequencing reads.")
functions.")
(license license:bsd-3)))
(define-public go-github-com-biogo-store-interval
(define-public go-github-com-biogo-store
(package
(name "go-github-com-biogo-store-interval")
(name "go-github-com-biogo-store")
(version "0.0.0-20201120204734-aad293a2328f")
(source (origin
(method git-fetch)
@ -24475,8 +24475,9 @@ functions.")
"0skizrp1j6vgbl0g1kmh73picagqlvwckaqs0gkl6rai5lckxj8a"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/biogo/store/interval"
#:unpack-path "github.com/biogo/store"))
(list
#:skip-build? #t
#:import-path "github.com/biogo/store"))
(propagated-inputs
(list go-gopkg-in-check-v1
go-github-com-kr-pretty))
@ -24487,45 +24488,9 @@ functions.")
useful for bioinformatic analysis.")
(license license:bsd-3)))
(define-public go-github-com-biogo-store-kdtree
(define-public go-github-com-biogo-hts
(package
(inherit go-github-com-biogo-store-interval)
(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")
(name "go-github-com-biogo-hts")
(version "1.4.4")
(source (origin
(method git-fetch)
@ -24538,91 +24503,22 @@ useful for bioinformatic analysis.")
"1vkcqxyajghx5p5j7g2i376nbsxh8q2smk0smlv8mi34yr7hlw5b"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/biogo/hts/bam"
#:unpack-path "github.com/biogo/hts"))
(propagated-inputs
(list
#:skip-build? #t
#: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))
(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
(list go-gopkg-in-check-v1))
(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
(list go-github-com-ulikunitz-xz
go-github-com-kortschak-utter))
(synopsis "HTS CRAM module for biogo")
(description "This package provides tools for handling CRAM files.")))
(define-public go-github-com-biogo-hts-csi
(package
(inherit go-github-com-biogo-hts-bam)
(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.")))
(home-page "https://github.com/biogo/hts")
(synopsis "HTS module for biogo")
(description
"This package provides tools for handling BAM, SAM, Tabix, bgzf, CRAM,
CSIv1, CSIv2 and FAI files.")
(license license:bsd-3)))
(define-public go-github-com-biogo-biogo
(package
@ -24642,11 +24538,8 @@ handling.")))
'(#:import-path "github.com/biogo/biogo"))
(propagated-inputs
(list go-gopkg-in-check-v1
go-github-com-biogo-store-interval
go-github-com-biogo-store-kdtree
go-github-com-biogo-store-llrb
go-github-com-biogo-store-step
go-github-com-biogo-hts-bam
go-github-com-biogo-store
go-github-com-biogo-hts
go-github-com-biogo-graph))
(home-page "https://github.com/biogo/biogo")
(synopsis "Bioinformatics library for Go")

View file

@ -49,7 +49,7 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#: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 icu4c)
#:use-module (gnu packages perl)
@ -436,36 +436,44 @@ configured to show the current time in different timezones.")
(license license:bsd-3))))
(define-public hebcal
(let ((commit "2384bb88dc1a41a4a5ae57a29fb58b2dd49a475d")
(revision "0"))
(package
(name "hebcal")
(version (git-version "5.3.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hebcal/hebcal")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"12rv3b51jb7wcjwmmizz9jkw7gh37yklys4xncvpzgxdkkfgmmjx"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/hebcal/hebcal"))
(inputs
(list go-github-com-hebcal-hebcal-go
go-github-com-pborman-getopt))
(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.
(package
(name "hebcal")
(version "5.8.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hebcal/hebcal")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1a1b9jip1ha6bzv6xg9fx47q167yzgbxjvrp5zngv175nzl9427j"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/hebcal/hebcal"
#:phases
#~(modify-phases %standard-phases
;; taken from Makefile
(add-after 'unpack 'set-defautl-city
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(with-output-to-file "dcity.go"
(lambda ()
(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
the daily leaf of Talmud. The program can help with counting of the
Omer or with calculation of Hebrew yahrzeits, birthdays, or
anniversaries.")
(home-page "https://github.com/hebcal/hebcal")
(license license:gpl2+))))
It can also show daily prayer times, the weekly Torah reading, and the daily
leaf of Talmud. The program can help with counting of the Omer or with
calculation of Hebrew yahrzeits, birthdays, or anniversaries.")
(license license:gpl2+)))

View file

@ -32,6 +32,7 @@
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; 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 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
@ -1124,6 +1125,53 @@ generation.")
similar to unit tests.")
(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
(package
(name "greatest")
@ -1301,7 +1349,7 @@ but it works for any C/C++ project.")
(define-public actionlint
(package
(name "actionlint")
(version "1.7.2")
(version "1.7.6")
(source
(origin
(method git-fetch)
@ -1310,7 +1358,7 @@ but it works for any C/C++ project.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rgsxv4clgfyl4gr8bjk81p4b87c6hr34flxzw6011h0vjc54n7x"))))
(base32 "1waq9v48pbys8b8qmmvl0wi77jzri033fh8194gcwfzipvxb6y9l"))))
(build-system go-build-system)
(arguments
(list
@ -1322,13 +1370,16 @@ but it works for any C/C++ project.")
#:unpack-path "github.com/rhysd/actionlint"))
;; XXX: Install Man page, wrap with shellcheck and pyflakes.
(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-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-github-com-google-go-cmp
go-golang-org-x-sys
go-gopkg-in-yaml-v3))
(home-page "https://rhysd.github.io/actionlint/")
(synopsis "Static checker for GitHub Actions workflow files")

View file

@ -25,9 +25,9 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-vcs)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages version-control)
#:use-module (gnu packages textutils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@ -100,7 +100,7 @@
go-github-com-spf13-viper
go-github-com-stretchr-testify
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-xdg-v3
go-github-com-zalando-go-keyring

View file

@ -49,8 +49,9 @@
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#: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 guile)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages logging)
@ -201,47 +202,50 @@ tunneling, and so on.")
(prepend libssh2)))
(properties `((hidden? . #t)))))
;; XXX: It looks like unmaintained, last time updated in 2018.
(define-public kurly
(package
(name "kurly")
(version "1.2.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/davidjpeacock/kurly.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"003jv2k45hg2svhjpy5253ccd250vi2r17x2zhm51iw54kgwxipm"))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/davidjpeacock/kurly")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "003jv2k45hg2svhjpy5253ccd250vi2r17x2zhm51iw54kgwxipm"))))
(build-system go-build-system)
(arguments
`(#:import-path "gitlab.com/davidjpeacock/kurly"
#:install-source? #f
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda* (#:key import-path outputs #:allow-other-keys)
(let* ((source (string-append "src/" import-path))
(out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name "-" ,version))
(man (string-append out "/share/man/man1")))
(with-directory-excursion source
(install-file "README.md" doc)
(mkdir-p man)
(copy-file "doc/kurly.man"
(string-append man "/kurly.1")))
#t))))))
(list
#:install-source? #f
#:import-path "gitlab.com/davidjpeacock/kurly"
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda* (#:key import-path #:allow-other-keys)
(let* ((source (string-append "src/" import-path))
(doc (string-append #$output "/share/doc/"
#$name "-" #$version))
(man (string-append #$output "/share/man/man1")))
(with-directory-excursion source
(install-file "README.md" doc)
(mkdir-p man)
(copy-file "doc/kurly.man"
(string-append man "/kurly.1")))))))))
(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))
(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")
(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)))
(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.")
(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
(package
(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.")
(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
(package
(name "kyotocabinet")
@ -3676,34 +3597,6 @@ etc., and an SQL engine for performing simple SQL queries.")
(license (list license:lgpl2.0
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
(package
(name "python-lmdb")
@ -5803,7 +5696,17 @@ compatible with SQLite using a graphical user interface.")
(arguments
(list
#: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
(list go-github-com-google-go-cmp
go-github-com-go-sql-driver-mysql

View file

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

View file

@ -45,6 +45,8 @@
#:use-module (gnu packages glib)
#: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 linux)
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
@ -194,6 +196,9 @@ Python without keeping their credentials in a Docker configuration file.")
"REVISION=0")))
(list
#: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
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths

View file

@ -47,7 +47,6 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-web)
@ -320,7 +319,8 @@ Currently available boards include:
(with-directory-excursion bin
(rename-file "v1" "gotypist"))))))))
(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")
(synopsis "Simple typing trainer for text terminals")
(description
@ -1111,7 +1111,7 @@ machine, and more.")
(define-public exercism
(package
(name "exercism")
(version "3.1.0")
(version "3.5.4")
(source
(origin
(method git-fetch)
@ -1121,7 +1121,7 @@ machine, and more.")
(file-name (git-file-name name version))
(sha256
(base32
"0ah5v4pqq31bvj7s4rg3jyjn7jwxa15w31cn4c317gsqmi0n8rzl"))
"0shh84g7j977kn9kcm09rj3lz6a3y5qq9yvklsldgb9zvass5szd"))
(patches (search-patches "exercism-disable-self-update.patch"))))
(build-system go-build-system)
(arguments

View file

@ -511,6 +511,7 @@ significantly increases the risk of irreversible data loss!")
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/rfjakob/gocryptfs"
#:build-flags
#~(list
@ -519,6 +520,15 @@ significantly increases the risk of irreversible data loss!")
" -X main.GitVersionFuse=" #$(package-version
go-github-com-hanwen-go-fuse-v2)
" -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
#~(modify-phases %standard-phases
;; 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/atomicrename")))))))
(native-inputs (list
go-github-com-hanwen-go-fuse-v2
go-github-com-aperturerobotics-jacobsa-crypto
go-github-com-jacobsa-oglematchers
go-github-com-jacobsa-oglemock
go-github-com-jacobsa-ogletest
go-github-com-jacobsa-reqtrace
go-github-com-hanwen-go-fuse-v2
go-github-com-moby-sys-mountinfo
go-github-com-pkg-xattr
go-github-com-rfjakob-eme
go-github-com-sabhiram-go-gitignore
go-github-com-spf13-pflag
go-golang-org-x-crypto
go-golang-org-x-net
go-golang-org-x-sys
go-golang-org-x-term
openssl
@ -1960,31 +1966,6 @@ Dropbox API v2.")
local file system using FUSE.")
(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
(let ((revision "1")
(commit "3a56de8b5a2d44968b8bc3885c7d661d46367306"))
@ -2146,7 +2127,7 @@ memory-efficient.")
(setenv "DESTDIR" #$output)
(invoke "make" "install")))))))
(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")
(synopsis "Tag files and access them through a virtual file system")
(description

View file

@ -157,6 +157,7 @@
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
@ -10657,7 +10658,7 @@ terminal full-window applications.")
'(#:import-path "git.tuxfamily.org/harmonist/harmonist"))
(inputs
`(("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-tcell" ,go-github-com-anaseto-gruid-tcell)))
(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 utils)
#:use-module (gnu packages)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-xyz))
;;; Commentary:
@ -80,6 +82,9 @@ the @code{c2go} tool at
(arguments
(list
#:import-path "github.com/dsnet/compress"
#:test-subdirs
#~(list "brotli/..." "bzip2/..." "flate" "internal" "internal/prefix"
"internal/testutil" "xflate/...")
#:phases
#~(modify-phases %standard-phases
;; 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
(package
(name "go-github-com-klauspost-compress")
(version "1.13.1")
(version "1.17.11")
(source
(origin
(method git-fetch)
@ -172,20 +177,11 @@ library included in the stdlib, and supports GIF, TIFF and PDF.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ydnf9rizlhm8rilh14674qqx272sbwbkjx06xn9pqvy6mmn2r3r"))))
(base32 "1i8r1xiba62nng651p4razxg1kw1910sl4grm7axm2g4q8s3i298"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/klauspost/compress"
#:phases
(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))
(list
#:import-path "github.com/klauspost/compress"))
(home-page "https://github.com/klauspost/compress")
(synopsis "Go compression library")
(description "@code{compress} provides various compression algorithms.")
@ -351,11 +347,19 @@ Supported archive formats:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(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)
(arguments
(list
#:import-path "github.com/pierrec/lz4"))
(native-inputs
(list go-github-com-frankban-quicktest))
(home-page "https://github.com/pierrec/lz4")
(synopsis "LZ4 compression in pure Go")
(description
@ -383,7 +387,85 @@ LZ4 data blocks. The implementation is based on the reference C
(build-system go-build-system)
(arguments
(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
(package
@ -466,10 +548,6 @@ tool."))))
#:install-source? #f
#:import-path "github.com/pierrec/lz4/cmd/lz4c"
#: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
(string-append (package-description go-github-com-pierrec-lz4-v4)
" This package provides an additional command line

View file

@ -161,7 +161,7 @@ composability.")
(define-public go-filippo-io-edwards25519
(package
(name "go-filippo-io-edwards25519")
(version "1.0.0")
(version "1.1.0")
(source
(origin
(method git-fetch)
@ -170,7 +170,7 @@ composability.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01m8hpaj0cwp250f7b0din09cf8j6j5y631grx67qfhvfrmwr1zr"))))
(base32 "1b2c4iv13mfa0dydr8wawpnnrxgwl7mxzhryfrkjxrgwad8gas5k"))))
(build-system go-build-system)
(arguments
'(#:import-path "filippo.io/edwards25519"))
@ -198,25 +198,15 @@ primitives.")
(arguments
(list
#:import-path "github.com/99designs/keyring"
#: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 test requring running DBus.
(("TestLibSecretKeysWhenEmpty")
"OffTestLibSecretKeysWhenEmpty")
(("TestLibSecretKeysWhenNotEmpty")
"OffTestLibSecretKeysWhenNotEmpty")
(("TestLibSecretGetWhenEmpty")
"OffTestLibSecretGetWhenEmpty")
(("TestLibSecretGetWhenNotEmpty")
"OffTestLibSecretGetWhenNotEmpty")
(("TestLibSecretRemoveWhenEmpty")
"OffTestLibSecretRemoveWhenEmpty")
(("TestLibSecretRemoveWhenNotEmpty")
"OffTestLibSecretRemoveWhenNotEmpty"))))))))
#:test-flags
#~(list "-skip" (string-join
(list "TestLibSecretKeysWhenEmpty"
"TestLibSecretKeysWhenNotEmpty"
"TestLibSecretGetWhenEmpty"
"TestLibSecretGetWhenNotEmpty"
"TestLibSecretRemoveWhenEmpty"
"TestLibSecretRemoveWhenNotEmpty")
"|"))))
(native-inputs
(list gnupg go-github-com-stretchr-testify password-store))
(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.")
(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
(let ((commit "67e573d211ace594f1366b4ce9d39726c4b19bd0")
(revision "0"))
@ -377,8 +392,8 @@ needing to use secp256k1 elliptic curve cryptography.")
(base32 "0h508v790wk6g8jq0gh18296xl87vmgc4fhwnac7mk6i5g3mz6v4"))))
(build-system go-build-system)
(arguments
(list #:unpack-path "github.com/bwesterb/go-ristretto"
#:import-path "github.com/bwesterb/go-ristretto/edwards25519"))
(list
#:import-path "github.com/bwesterb/go-ristretto"))
(home-page "https://github.com/bwesterb/go-ristretto")
(synopsis "Operations on the Ristretto prime-order group")
(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
(package
(name "go-github-com-cloudflare-circl")
(version "1.3.6")
(version "1.5.0")
(source
(origin
(method git-fetch)
@ -489,7 +504,20 @@ described at @url{https://xxhash.com/}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(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)
(arguments
'(#:import-path "github.com/cloudflare/circl"))
@ -506,6 +534,36 @@ cryptographic algorithms targeting Post-Quantum (PQ) and Elliptic Curve
Cryptography (ECC).")
(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
(package
(name "go-github-com-davidlazar-go-crypto")
@ -556,6 +614,29 @@ one-time authenticator as specified in
@end itemize")
(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
(package
(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.")
(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
(package
(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}.")
(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
(package
(name "go-github-com-dvsekhvalnov-jose2go")
@ -802,6 +981,34 @@ providing bidirectional mapping values to their names, plus enum convenience
for values.")
(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
(package
(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.")
(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
(package
(name "go-github-com-multiformats-go-multihash")
@ -1426,10 +1658,36 @@ algorithm.")
"This package provides primitives for generating random values.")
(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
(package
(name "go-github-com-protonmail-go-crypto")
(version "1.0.0")
(version "1.1.3")
(source
(origin
(method git-fetch)
@ -1438,21 +1696,14 @@ algorithm.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "11q94983r6zjrdvflpikms4773a9s5vb9gg4qw1rj5800yhhah0n"))))
(base32 "0kcan2bw548cn6pm282zyddysv400dankcsrdanha7qmxqki34c0"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/ProtonMail/go-crypto"
#: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" "./..."))))))))
(delete 'build)))) ; no go files in project's root
(propagated-inputs
(list go-github-com-cloudflare-circl
go-golang-org-x-crypto))
@ -1465,34 +1716,6 @@ completely backwards compatible with @code{golang.org/x/crypto}, the official
package.")
(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
(package
(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.")
(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
(package
(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)
(arguments
(list
#: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" "./..."))))))))
#:import-path "github.com/shadowsocks/go-shadowsocks2"))
(propagated-inputs
(list go-github-com-riobard-go-bloom
go-golang-org-x-crypto))
@ -1607,6 +1845,210 @@ wide-block encryption mode developed by Halevi and Rogaway.")
tunnel proxy protocol.")
(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
(package
(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.")
(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
(package
(name "go-github-com-youmark-pkcs8")
(version "1.2")
(version "1.3")
(source
(origin
(method git-fetch)
@ -1645,7 +2112,7 @@ ssh-agent process using the sample server.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ckdrwa5rmp2c85936qd9d0gzrnrvqfg0297ansz5frdhg6fc6nq"))))
(base32 "17pnl7b0ml4595cmxhramnc7ry6df6f4zisvaafxj4r7ravx8i7c"))))
(build-system go-build-system)
(arguments
(list
@ -1673,7 +2140,14 @@ PKCS#5 (v2.0) algorithms.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(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)
(arguments
(list
@ -1690,6 +2164,33 @@ PKCS#5 (v2.0) algorithms.")
and SSE4.1 acceleration.")
(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
(package
(name "go-github-com-zeebo-pcg")
@ -1716,6 +2217,58 @@ and SSE4.1 acceleration.")
Congruential Generator} (PCG) algorithm.")
(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
(let ((commit "2149dcafc266f66d2487f45b156f6397f9c4760b")
(revision "0"))
@ -1781,6 +2334,96 @@ package is intended for interoperability with the standard library and the
possible.")
(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
(package
(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.")
(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
(package
(name "go-torproject-org-pluggable-transports-goptlib")

View file

@ -23,7 +23,8 @@
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (gnu packages))
#:use-module (gnu packages)
#:use-module (gnu packages golang-build))
;;; Commentary:
;;;
@ -35,6 +36,126 @@
;;; 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
(package
(name "go-github-com-montanaflynn-stats")
@ -51,13 +172,43 @@
(build-system go-build-system)
(arguments
(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")
(synopsis "Statistics library for Golang")
(description
"This package provides a statistical library for Golang.")
(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
(package
(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.")
(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:
;;;

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
(base32 "0r1d0l3mmb90956wl97vqlb3cdhax7jkqa95hvx9b380g93a08py"))))
(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
(list go-github-com-klauspost-compress
go-github-com-minio-highwayhash
@ -226,10 +241,6 @@ applications.")
go-golang-org-x-crypto
go-golang-org-x-sys
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")
(synopsis "High performance message broker")
(description

View file

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

View file

@ -43,6 +43,56 @@
#:use-module (gnu packages shells)
#: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
(package
(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.")
(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
(package
(name "go-github-com-ipfs-go-ipfs-blockstore")
@ -316,7 +395,30 @@ keys used by @code{go-ipfs} (Kubo).")
(build-system go-build-system)
(arguments
(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
(list go-gopkg-in-check-v1))
(propagated-inputs
@ -707,8 +809,9 @@ code prior to it getting merged into @code{go-cid}.")
(build-system go-build-system)
(arguments
(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
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-ipld-specfs
@ -823,7 +926,7 @@ their levels to be controlled individually.")
(define-public go-github-com-libp2p-go-libp2p
(package
(name "go-github-com-libp2p-go-libp2p")
(version "0.36.3")
(version "0.36.5")
(source
(origin
(method git-fetch)
@ -832,12 +935,35 @@ their levels to be controlled individually.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(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)
(arguments
(list
#: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
(list go-github-com-benbjohnson-clock
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-webtransport-go
go-github-com-raulk-go-watchdog
go-github-com-stretchr-testify
go-go-uber-org-fx
go-go-uber-org-goleak
go-go-uber-org-mock
go-go-uber-org-zap
go-golang-org-x-crypto
go-golang-org-x-exp
go-golang-org-x-sync
@ -905,6 +1029,31 @@ their levels to be controlled individually.")
@url{https://github.com/libp2p/specs,libp2p}.")
(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
(package
(name "go-github-com-whyrusleeping-cbor-gen")
@ -936,7 +1085,7 @@ types.")
(define-public kubo
(package
(name "kubo")
(version "0.30.0")
(version "0.31.0")
(source
(origin
(method url-fetch/tarbomb)
@ -944,7 +1093,7 @@ types.")
"https://dist.ipfs.io/kubo/v" version
"/kubo-source.tar.gz"))
(sha256
(base32 "0kwbwbrlvgcb8lcg85gpab6czyrnq7r9139i5gp827231zfbcqzq"))
(base32 "0271rh54xbwikbllzsjnkjlj29cb2xy5lnhia47qlf2ymvl48kvf"))
(file-name (string-append name "-" version "-source"))
(modules '((guix build utils)))
(snippet '(for-each delete-file-recursively
@ -956,6 +1105,7 @@ types.")
"vendor/github.com/beorn7"
"vendor/github.com/blang"
"vendor/github.com/cenkalti"
"vendor/github.com/ceramicnetwork"
"vendor/github.com/cespare"
"vendor/github.com/cheggaaa"
"vendor/github.com/containerd"
@ -1058,6 +1208,7 @@ types.")
(build-system go-build-system)
(arguments
(list
#:go go-1.22
#:embed-files #~(list "sorted-network-list.bin")
#:unpack-path "github.com/ipfs/kubo"
#:import-path "github.com/ipfs/kubo/cmd/ipfs"
@ -1086,7 +1237,7 @@ types.")
go-github-com-benbjohnson-clock
go-github-com-blang-semver-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-coreos-go-systemd-v22
go-github-com-dustin-go-humanize
@ -1201,7 +1352,6 @@ types.")
go-golang-org-x-oauth2 ; github.com/ipfs/boxo
go-golang-org-x-term ; github.com/ipfs/go-ipfs-cmds
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
(append (if (%current-target-system)

View file

@ -141,7 +141,6 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
@ -9539,47 +9538,6 @@ nfnetlink_queue, nfnetlink_conntrack) and their respective users and/or
management tools in userspace.")
(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
(package
(name "libinih")

View file

@ -54,6 +54,9 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome) ;libnotify
#: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 mail)
#:use-module (gnu packages ncurses)
@ -62,6 +65,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#: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.")
(license license:asl2.0)))
(define-public go-github-com-prometheus-node-exporter
(package
(name "go-github-com-prometheus-node-exporter")
(version "0.18.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/node_exporter")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0s3sp1gj86p7npxl38hkgs6ymd3wjjmc5hydyg1b5wh0x3yvpx07"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/node_exporter"))
(synopsis "Prometheus exporter for hardware and OS metrics")
(description "Prometheus exporter for metrics exposed by *NIX kernels,
(define-public prometheus-node-exporter
;; The latest release is failing to build, use the latest commit from the
;; master branch.
(let ((commit "b8aac7c92e2d7f3dea56b2d4802d4ef3ee29c3cc")
(revision "0"))
(package
(name "prometheus-node-exporter")
(version (git-version "1.8.2" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/node_exporter")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0n2s2z168xzp6i0ihaqvvs8zinp1iqld45c6lj89x7wjv8m741j3"))))
(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.")
(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
(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.")
(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
;; docker-libnetwork-cmd-proxy requires this exact commit.
;; 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
(package
(name "nebula")
(version "1.9.3")
(version "1.9.5")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4799,7 +4764,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(file-name (git-file-name name version))
(sha256
(base32
"08zzbx2v713zd9p7i4kd1bvcw47xb0092p5apba1x5wg6fpxw5zr"))
"1slknnrdnf5a2ask11ql3gwnnl6c5359bp8rd712aq30lxa2d4r0"))
;; Remove windows-related binary blobs and files
(snippet
#~(begin
@ -4811,6 +4776,8 @@ IPv6 Internet connectivity - it also works over IPv4.")
(list
#:import-path "github.com/slackhq/nebula"
#:install-source? #f
;; XXX: Pack missing packages for cmd/nebula-service
#:test-subdirs #~(list ".")
#:phases
#~(modify-phases %standard-phases
(replace 'build
@ -4837,29 +4804,32 @@ IPv6 Internet connectivity - it also works over IPv4.")
(list go-dario-cat-mergo
go-github-com-anmitsu-go-shlex
go-github-com-armon-go-radix
go-github-com-cespare-xxhash-v2
go-github-com-cyberdelia-go-metrics-graphite
go-github-com-flynn-noise
go-github-com-gaissmai-bart
go-github-com-gogo-protobuf
go-github-com-google-gopacket
go-github-com-kardianos-service
go-github-com-miekg-dns
go-github-com-nbrownus-go-metrics-prometheus
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-sirupsen-logrus
go-github-com-skip2-go-qrcode
go-github-com-songgao-water
go-github-com-stretchr-testify
go-github-com-vishvananda-netlink
go-golang-org-x-crypto
go-golang-org-x-exp
go-golang-org-x-net
go-golang-org-x-sync
go-golang-org-x-sys
go-golang-org-x-term
go-golang-zx2c4-com-wireguard
go-google-golang-org-protobuf
go-gopkg-in-yaml-v2
go-github-com-vishvananda-netlink
go-github-com-vishvananda-netns))
;go-gvisor-dev-gvisor ; for nebula-service, not packed yet
))
(home-page "https://github.com/slackhq/nebula")
(synopsis "Scalable, peer-to-peer overlay networking tool")
(description

View file

@ -96,6 +96,7 @@
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages kerberos)
@ -128,6 +129,83 @@
#:use-module (gnu packages xorg)
#: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
(package
(name "pwgen")

View file

@ -1,21 +1,23 @@
From bc22f7d43c12c5f79c71b0319666e71f29d61322 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= <kuba@kadziolka.net>
Date: Mon, 25 May 2020 18:53:04 +0200
From a0e422b11a65d63bd435c96bee3cd08f06bb8ec8 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <sharlatanus@gmail.com>
Date: Mon, 23 Dec 2024 01:59:10 +0000
Subject: [PATCH] Disable self-update.
For exercism cli V3.5.4.
Based on a Fedora patch by Elliott Sales de Andrade.
---
cli/cli.go | 44 +-------------------------------------------
1 file changed, 1 insertion(+), 43 deletions(-)
diff --git a/cli/cli.go b/cli/cli.go
index 4312eb0..5f62297 100644
index fe113ec..3baa4b0 100644
--- a/cli/cli.go
+++ b/cli/cli.go
@@ -10,13 +10,10 @@ import (
"io"
"io/ioutil"
"net/http"
"os"
- "runtime"
"strings"
"time"
@ -75,5 +77,4 @@ index 4312eb0..5f62297 100644
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 golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz))
@ -129,7 +130,7 @@ registry.")
(define-public go-github-com-prometheus-client-golang
(package
(name "go-github-com-prometheus-client-golang")
(version "1.19.1")
(version "1.20.5")
(source
(origin
(method git-fetch)
@ -138,15 +139,27 @@ registry.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(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)
(arguments
(list
#:skip-build? #t
;; XXX: Check if the most of the tests may be enabled:
;; api/prometheus/v1/api_test.go:1063:23: cannot use 1634644800304
;; (untyped int constant) as int value in map literal (overflows)
#:tests? (target-64bit?)
#:import-path "github.com/prometheus/client_golang"
;; Assertion fails in one test.
#:test-flags #~(list "-skip" "TestHandler")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples-and-tutorials
@ -155,19 +168,14 @@ registry.")
(for-each delete-file-recursively
(list "api/prometheus/v1/example_test.go"
"examples"
"tutorial")))))
;; 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" "./..."))))))))
"tutorials"))))))))
(propagated-inputs
(list go-github-com-beorn7-perks
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-klauspost-compress
go-github-com-kylelemons-godebug
go-github-com-prometheus-client-model
go-github-com-prometheus-common
go-github-com-prometheus-procfs
@ -213,7 +221,7 @@ Prometheus metrics.")
(define-public go-github-com-prometheus-common
(package
(name "go-github-com-prometheus-common")
(version "0.55.0")
(version "0.61.0")
(source
(origin
(method git-fetch)
@ -222,7 +230,7 @@ Prometheus metrics.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bsbxil7qz8rhckhv0844nmn38g7i7347cjv5m6na47hbdpi0rqh"))
(base32 "0wng61rzvh27s2rlaadvjbffwgpn74p1wjrz6insl57k1pg3cmcn"))
(modules '((guix build utils)))
(snippet
#~(begin
@ -289,16 +297,17 @@ metrics.")
(define-public go-github-com-prometheus-common-assets
(package
(name "go-github-com-prometheus-common-assets")
(version "0.55.0")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(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))
(sha256
(base32 "0bsbxil7qz8rhckhv0844nmn38g7i7347cjv5m6na47hbdpi0rqh"))))
(base32 "0r7sym4yaysbkc5anyypl57v9ay0a1flq00j85j7lcficl2scwrs"))))
(build-system go-build-system)
(arguments
(list
@ -369,7 +378,7 @@ from the default AWS credential chain.")
(define-public go-github-com-prometheus-community-pro-bing
(package
(name "go-github-com-prometheus-community-pro-bing")
(version "0.4.1")
(version "0.5.0")
(source
(origin
(method git-fetch)
@ -378,15 +387,19 @@ from the default AWS credential chain.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1yz4cf1qrm1jrzw2yd5p08663hynk4ihlf5mi2fn6irnzh343a7b"))))
(base32 "19757nqz0cpq7ir2w5xgjxpblhmkpk0j7spfw4j68agavbx6hxpm"))))
(build-system go-build-system)
(arguments
(list
;; Tests requiring network setup.
;; Tests requiring network setup, and root access.
#:test-flags
#~(list "-skip" (string-append "TestNewPingerValid"
"|TestSetIPAddr"
"|TestSetResolveTimeout"))
#~(list "-skip"
(string-join
(list "TestNewPingerValid"
"TestSetIPAddr"
"TestSetInterfaceName"
"TestSetResolveTimeout")
"|"))
#:import-path "github.com/prometheus-community/pro-bing"))
(propagated-inputs
(list go-github-com-google-uuid
@ -402,7 +415,7 @@ Protocol,ICMP} echo (ping) functionality.")
(define-public go-github-com-prometheus-exporter-toolkit
(package
(name "go-github-com-prometheus-exporter-toolkit")
(version "0.11.0")
(version "0.13.2")
(source
(origin
(method git-fetch)
@ -411,7 +424,7 @@ Protocol,ICMP} echo (ping) functionality.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1n46jw3b13g355iv8phxxnnci7a877y5dscc1rlj3rpz4vy6yfzx"))))
(base32 "05k4sfrc1zs96iprgnap0gd42vwfq47j6vg2bv83nckcv731gmiv"))))
(build-system go-build-system)
(arguments
(list
@ -433,6 +446,7 @@ Protocol,ICMP} echo (ping) functionality.")
(list go-github-com-alecthomas-kingpin-v2
go-github-com-coreos-go-systemd-v22
go-github-com-go-kit-log
go-github-com-mdlayher-vsock
; Imported for go-github-com-prometheus-common to break the cycle.
go-github-com-prometheus-client-golang
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.")
(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
(package
(name "go-github-com-prometheus-statsd-exporter")
(version "0.27.1")
(version "0.28.0")
(source
(origin
(method git-fetch)
@ -506,7 +540,7 @@ kernel, and process metrics from the @file{/proc} pseudo file system.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0y8n02h46q22wkcm2yy62bzsi9hxrarmvjamfpn2sygqhbb1pv38"))))
(base32 "0h7ypmsx1j6x1p5wdj03i3jzwms7ab03asn2capl1gg6x07k57w7"))))
(build-system go-build-system)
(arguments
(list

View file

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

View file

@ -39,6 +39,10 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#: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 gtk)
#:use-module (gnu packages hunspell)
@ -278,20 +282,21 @@ time to a logfile.")
(define-public dstask
(package
(name "dstask")
(version "0.26")
(version "0.27")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/naggie/dstask")
(commit (string-append "v" version))))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "10q0524gfc76k0v9cy0j60cbgmmwkpnkbvl6w0pn1j5y690514f5"))))
(base32 "01vdxm3y5fg4hqhq4k1lk0m7w70kkwlka5jhixv7a9lf1gqldskd"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/naggie/dstask"
#:install-source? #f
#:test-subdirs '("pkg/..." ".")
#:phases
(modify-phases %standard-phases
(replace 'build
@ -314,6 +319,18 @@ time to a logfile.")
(install-file "dstask-import" bindir)
(install-file ".dstask-bash-completions.sh" bash-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")
(description "dstask is a personal task tracker that uses git for
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")
(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
(package
(name "go-github-com-junegunn-fzf")

View file

@ -1496,9 +1496,7 @@ of a Unix terminal to HTML code.")
(define-public vale
(package
(name "vale")
;; Newer versions requires <github.com/smacker/go-tree-sitter> which is
;; quite a large project to pack.
(version "3.4.2")
(version "3.9.4")
(source
(origin
(method git-fetch)
@ -1506,49 +1504,35 @@ of a Unix terminal to HTML code.")
(url "https://github.com/errata-ai/vale")
(commit (string-append "v" version))))
(sha256
(base32 "15f8ggh7hpfmfpszl9qkdfz19kds6gg6x5dgcqy0v6jrcsdbgpgp"))
(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"))))))
(base32 "009gyrn2mi7bg10v6mqrr6c6ii5l2vbhs7mvh7g4xxgqhaqzpbhp"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
(list
#:go go-1.23
#:install-source? #f
#:embed-files #~(list ".*\\.gob")
#:import-path "github.com/errata-ai/vale/cmd/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
#~(modify-phases %standard-phases
;; 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.
(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" "./..."))))))))
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" "/tmp"))))))
(native-inputs
(list go-github-com-masterminds-sprig-v3
go-github-com-adrg-strutil
(list go-github-com-adrg-strutil
go-github-com-adrg-xdg
go-github-com-bmatcuk-doublestar-v4
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-expr-lang-expr
go-github-com-gobwas-glob
go-github-com-jdkato-go-tree-sitter-julia
go-github-com-jdkato-twine
go-github-com-karrick-godirwalk
go-github-com-mholt-archiver-v3
go-github-com-masterminds-sprig-v3
go-github-com-mitchellh-mapstructure
go-github-com-niklasfasching-go-org
go-github-com-olekukonko-tablewriter
go-github-com-otiai10-copy
go-github-com-pelletier-go-toml-v2
go-github-com-pterm-pterm
go-github-com-remeh-sizedwaitgroup
go-github-com-smacker-go-tree-sitter
go-github-com-spf13-pflag
go-github-com-stretchr-testify
go-github-com-tomwright-dasel-v2
go-github-com-yuin-goldmark
go-golang-org-x-exp
go-golang-org-x-net

View file

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

View file

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

View file

@ -59,6 +59,8 @@
;;; Copyright © 2024 Javier Olaechea <pirata@gmail.com>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; 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>
;;;
;;; This file is part of GNU Guix.
@ -126,6 +128,7 @@
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-vcs)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages groff)
@ -980,6 +983,125 @@ the date of the most recent commit that modified them
@end itemize")
(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
(package
(name "got")
@ -3812,7 +3934,7 @@ will reconstruct the object along its delta-base chain and return it.")
(define-public git-lfs
(package
(name "git-lfs")
(version "3.4.0")
(version "3.6.0")
(source (origin
(method git-fetch)
(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))
(sha256
(base32
"0ljjs8kyznp2ifkqdcd9q3550sknyx5qxx247icwkd9djjq7x74m"))))
"09ry2nq5bpdxk446dyhc0d6d85wy5x2i5ckwwg9r00a3zdp5v4ry"))))
(build-system go-build-system)
(arguments
(list
#:embed-files #~(list "children" "nodes" "text")
#:import-path "github.com/git-lfs/git-lfs"
#:install-source? #f
#:test-flags #~(list "-skip" "TestHistoryRewriterUpdatesRefs")
#:phases
#~(modify-phases %standard-phases
(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)
'())))
(propagated-inputs
(list go-github-com-xeipuuv-gojsonschema
go-github-com-xeipuuv-gojsonreference
go-github-com-xeipuuv-gojsonpointer
(list go-github-com-avast-retry-go
go-github-com-dpotapov-go-spnego
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-sync
go-github-com-ssgelm-cookiejarparser
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))
go-golang-org-x-sys))
(home-page "https://git-lfs.github.com/")
(synopsis "Git extension for versioning large files")
(description
@ -4055,59 +4179,6 @@ of machine readable. This helps improve code quality and helps you spot
defects faster.")
(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
(let ((commit "e41b504dca90a25e9be27f296da7ce22e5782893")
(revision "1"))
@ -4171,7 +4242,7 @@ If several repos are related, it helps to see their status together.")
(define-public ghq
(package
(name "ghq")
(version "1.6.2")
(version "1.7.1")
(home-page "https://github.com/x-motemen/ghq")
(source (origin
(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))
(sha256
(base32
"00rrm0gykmj60i0lnr4js6d4193c92zm3cimimb03xva4n9frvxw"))))
"0ai3klp3fm5r0idnml5pm55wcvkav3w0s11snlmr0ab1ki8m9sg5"))))
(build-system go-build-system)
(arguments
(list
@ -4204,13 +4275,14 @@ If several repos are related, it helps to see their status together.")
(native-inputs
(list git-minimal))
(inputs
(list go-github-com-songmu-gitconfig
go-github-com-mattn-go-isatty
(list go-github-com-mattn-go-isatty
go-github-com-motemen-go-colorine
go-github-com-saracen-walker
go-github-com-songmu-gitconfig
go-github-com-urfave-cli-v2
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")
(description
"@code{ghq} provides a way to organize remote repository clones, like

View file

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

View file

@ -370,12 +370,6 @@ and its related documentation.")
#$version))
#: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
(lambda* (#:key import-path #:allow-other-keys)
(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-oauth2
go-golang-org-x-term
go-golang-org-x-text
go-mvdan-cc-xurls-v2))
go-golang-org-x-text))
(home-page "https://miniflux.app/")
(synopsis "Minimalist and opinionated feed reader")
(description
@ -1961,7 +1954,7 @@ UTS#46.")
(define-public esbuild
(package
(name "esbuild")
(version "0.14.0")
(version "0.24.0")
(source
(origin
(method git-fetch)
@ -1970,43 +1963,28 @@ UTS#46.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "09r1xy0kk6c9cpz6q0mxr4why373pwxbm439z2ihq3k1d5kk7x4w"))
(base32 "1j99m7rdql6iq3llrr8bm85hq34ssc8bmb6vhwr1ibgspjl0jd3k"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove prebuilt binaries
(delete-file-recursively "npm")
#t))))
#~(begin
;; Remove prebuilt binaries
(delete-file-recursively "npm")))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/evanw/esbuild/cmd/esbuild"
#:unpack-path "github.com/evanw/esbuild"
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? unpack-path #:allow-other-keys)
(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)))))
(list
#:import-path "github.com/evanw/esbuild/cmd/esbuild"
#:unpack-path "github.com/evanw/esbuild"
#:test-flags #~(list #$(if (target-64bit?) "-race" "-short"))
;; Test subdirectories are compiled from #:import-path.
#:test-subdirs #~(list "../../internal/..." "../../pkg/..." )))
(inputs
`(("golang.org/x/sys" ,go-golang-org-x-sys)))
(native-inputs
`(("github.com/kylelemons/godebug" ,go-github-com-kylelemons-godebug)))
(list go-golang-org-x-sys-for-esbuild))
(home-page "https://esbuild.github.io/")
(synopsis "Bundler and minifier tool for JavaScript and TypeScript")
(description
"The esbuild tool provides a unified bundler, transpiler and
minifier. It packages up JavaScript and TypeScript code, along with JSON
and other data, for distribution on the web.")
"The esbuild tool provides a unified bundler, transpiler and minifier.
It packages up JavaScript and TypeScript code, along with JSON and other data,
for distribution on the web.")
(license license:expat)))
(define-public tinyproxy
@ -5550,13 +5528,17 @@ you'd expect.")
"0s7c8r6y5jv6wda2v3k47hawfdr9j3rwk717l6byvh5qsbbml0vd"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/mikefarah/yq/v4"
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'remove-binary
(lambda _
(delete-file-recursively
(string-append #$output "/bin")))))))
(list
#:skip-build? #t
#:import-path "github.com/mikefarah/yq/v4"
#:phases
#~(modify-phases %standard-phases
;; Tests need this.
(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
(list go-github-com-a8m-envsubst
go-github-com-alecthomas-participle-v2
@ -5591,14 +5573,12 @@ JSON, XML, properties, CSV and TSV.")
(inherit go-github-com-mikefarah-yq-v4)
(name "yq")
(arguments
(list #:install-source? #f
#:import-path "github.com/mikefarah/yq/v4"
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'rename-binary
(lambda _
(rename-file (string-append #$output "/bin/v4")
(string-append #$output "/bin/yq")))))))
(substitute-keyword-arguments
(package-arguments go-github-com-mikefarah-yq-v4)
((#:install-source? _ #t) #f)
((#:skip-build? _ #t) #f)
((#:tests? _ #t) #f)
((#:import-path _) "github.com/mikefarah/yq")))
(propagated-inputs '())
(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"))))
(build-system go-build-system)
(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
`(#:import-path "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 "")
(unpack-path "")
(build-flags ''())
(skip-build? #f)
(tests? #t)
(test-flags ''())
(test-subdirs ''("..."))
(parallel-build? #t)
(parallel-tests? #t)
(allow-go-reference? #f)
@ -238,8 +240,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? #$skip-build?
#:tests? #$tests?
#:test-flags #$test-flags
#:test-subdirs #$test-subdirs
#:parallel-build? #$parallel-build?
#:parallel-tests? #$parallel-tests?
#:allow-go-reference? #$allow-go-reference?
@ -263,8 +267,10 @@ commit hash and its date rather than a proper release tag."
(import-path "")
(unpack-path "")
(build-flags ''())
(skip-build? #f)
(tests? #f) ; nothing can be done
(test-flags ''())
(test-subdirs ''("..."))
(allow-go-reference? #f)
(system (%current-system))
(goarch (first (go-target target)))
@ -315,8 +321,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? #$skip-build?
#:tests? #$tests?
#:test-flags #$test-flags
#:test-subdirs #$test-subdirs
#:make-dynamic-linker-cache? #f ;cross-compiling
#:allow-go-reference? #$allow-go-reference?
#:inputs %build-inputs))))

View file

@ -98,6 +98,10 @@
;; * Remove module packages, only offering the full Git repos? This is
;; more idiomatic, I think, because Go downloads Git repos, not modules.
;; 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`:
;; https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies
@ -283,35 +287,71 @@ unpacking."
(_ #f))
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)
"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)))
(with-throw-handler
#t
#t
(lambda _
(apply invoke "go" "install"
"-v" ; print the name of packages as they are compiled
"-x" ; print each command as it is invoked
;; Respectively, strip the symbol table and debug
;; information, and the DWARF symbol table.
"-ldflags=-s -w"
"-trimpath"
`(,@build-flags ,import-path)))
(if skip-build?
(begin
(format #t "Build is skipped, no go files in project's root.~%")
#t)
(apply invoke "go" "install"
;; Respectively, strip the symbol table and debug
;; information, and the DWARF symbol table.
"-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)
(display (string-append "Building '" import-path "' failed.\n"
"Here are the results of `go env`:\n"))
(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)
"Run the tests for the package named by IMPORT-PATH."
(when tests?
(let* ((njobs (if parallel-tests? (parallel-job-count) 1)))
(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)
(define* (install #:key install-source? outputs import-path unpack-path #:allow-other-keys)