mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-02-07 19:39:34 +01:00
944ce009eb
* gnu/packages/golang-web.scm (go-gopkg-in-square-go-jose-v2): Delete variable. Change-Id: I840a831342108dcdc3af60d13fcf7d50f27c7ba4
9352 lines
345 KiB
Scheme
9352 lines
345 KiB
Scheme
;;; GNU Guix --- Functional package management for GNU
|
||
;;; Copyright © 2017, 2019, 2020, 2021 Leo Famulari <leo@famulari.name>
|
||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
|
||
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||
;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
|
||
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
|
||
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
|
||
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
|
||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
||
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
|
||
;;; Copyright © 2020 raingloom <raingloom@riseup.net>
|
||
;;; Copyright © 2020-2024 Efraim Flashner <efraim@flashner.co.il>
|
||
;;; Copyright © 2021 Collin J. Doering <collin@rekahsoft.ca>
|
||
;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
|
||
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||
;;; Copyright © 2022 (unmatched-parenthesis <paren@disroot.org>
|
||
;;; Copyright © 2022 Adam Kandur <kefironpremise@gmail.com>
|
||
;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
|
||
;;; Copyright © 2022 Giacomo Leidi <goodoldpaul@autistici.org>
|
||
;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
|
||
;;; Copyright © 2022 jgart via Guix-patches via <guix-patches@gnu.org>
|
||
;;; Copyright © 2022 muradm <mail@muradm.net>
|
||
;;; Copyright © 2022, 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
|
||
;;; Copyright © 2023 Filip Lajszczak <filip@lajszczak.dev>
|
||
;;; Copyright © 2023 Fries <fries1234@protonmail.com>
|
||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
||
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
||
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
|
||
;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||
;;; Copyright © 2024 Dominic Martinez <dom@dominicm.dev>
|
||
;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
|
||
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
|
||
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
|
||
;;; Copyright © 2024 Roman Scherer <roman@burningswell.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-web)
|
||
#:use-module ((guix licenses) #:prefix license:)
|
||
#:use-module (guix packages)
|
||
#:use-module (guix build-system go)
|
||
#:use-module (guix gexp)
|
||
#:use-module (guix git-download)
|
||
#:use-module (guix utils)
|
||
#:use-module (gnu packages)
|
||
#: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-xyz)
|
||
#:use-module (gnu packages ipfs)
|
||
#:use-module (gnu packages prometheus)
|
||
#:use-module (gnu packages tls)
|
||
#:use-module (gnu packages web))
|
||
|
||
;;; Commentary:
|
||
;;;
|
||
;;; Golang modules (libraries) for Web related projects: HTML, CSS, SCSS,
|
||
;;; JavaScript, JSON, Web-framework, REST-API or similar functionality; for
|
||
;;; Network related projects: OSI layers implementation algorithms, MIME,
|
||
;;; Email protocols implementations, and similar. They may provide
|
||
;;; executables and libraries, for which there are marked sections.
|
||
|
||
;;;
|
||
;;; Please: Try to add new module packages in alphabetic order.
|
||
;;;
|
||
;;; Code:
|
||
|
||
;;;
|
||
;;; Libraries:
|
||
;;;
|
||
|
||
(define-public go-0xacab-org-leap-obfsvpn
|
||
(package
|
||
(name "go-0xacab-org-leap-obfsvpn")
|
||
(version "1.3.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://0xacab.org/leap/obfsvpn.git")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1iq3m2j6m9n1h9rkysaj97nnqx65fn7vz9jskl4qa4rwh002pv3d"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; It's the same project.
|
||
(substitute* (find-files "." "\\.go$")
|
||
(("git.torproject.org/pluggable-transports/goptlib.git")
|
||
(string-append "gitlab.torproject.org/tpo/anti-censorship"
|
||
"/pluggable-transports/goptlib")))))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:skip-build? #t
|
||
#:import-path "0xacab.org/leap/obfsvpn"))
|
||
(native-inputs
|
||
(list go-github-com-spf13-pflag
|
||
go-github-com-spf13-viper))
|
||
(propagated-inputs
|
||
(list go-github-com-labstack-echo-v4
|
||
go-github-com-quic-go-quic-go
|
||
go-github-com-sirupsen-logrus
|
||
go-github-com-xtaci-kcp-go-v5
|
||
go-gitlab-com-yawning-obfs4-git
|
||
go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib))
|
||
(home-page "https://0xacab.org/leap/obfsvpn")
|
||
(synopsis "OBFS4 client and server proxies")
|
||
(description
|
||
"The @@code{obfsvpn} module contains a Go package that provides server
|
||
and client components to use variants of the obfs4 obfuscation protocol. It
|
||
is intended to be used as a drop-in Pluggable Transport for @code{OpenVPN}
|
||
connections
|
||
(although it can be used for other, more generic purposes).")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-cloud-google-com-go-compute-metadata
|
||
(package
|
||
(name "go-cloud-google-com-go-compute-metadata")
|
||
(version "0.81.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/googleapis/google-cloud-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "15jgynqb5pbxqbj3a7ii970yn4srsw1dbxzxnhpkfkmplalpgyh3"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:unpack-path "cloud.google.com/go"
|
||
#:import-path "cloud.google.com/go/compute/metadata"))
|
||
(home-page
|
||
"https://pkg.go.dev/cloud.google.com/go/compute/metadata")
|
||
(synopsis
|
||
"Go wrapper for Google Compute Engine metadata service")
|
||
(description
|
||
"This package provides access to Google Compute Engine (GCE) metadata and
|
||
API service accounts for Go.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-git-sr-ht-adnano-go-gemini
|
||
(package
|
||
(name "go-git-sr-ht-adnano-go-gemini")
|
||
(version "0.2.5")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.sr.ht/~adnano/go-gemini")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0xxcljhk9abjjdcl1dnxaq7qwvl13rq51bwps5nxlkib7fxgbyyl"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "git.sr.ht/~adnano/go-gemini"))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net))
|
||
(home-page "https://git.sr.ht/~adnano/go-gemini")
|
||
(synopsis "Gemini protocol in Go")
|
||
(description
|
||
"The @code{gemini} package implements the Gemini protocol in Go. It
|
||
provides an API similar to that of NET/HTTP to facilitate the development of
|
||
Gemini clients and servers.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-git-sr-ht-emersion-gqlclient
|
||
(package
|
||
(name "go-git-sr-ht-emersion-gqlclient")
|
||
(version "0.0.0-20230820050442-8873fe0204b9")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.sr.ht/~emersion/gqlclient")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0x64kcryawdr0daq1w6fada60zqrddw75yi397835b9ij7wb5gmh"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:embed-files #~(list "prelude.graphql")
|
||
#:import-path "git.sr.ht/~emersion/gqlclient"))
|
||
;; For the CLI.
|
||
(native-inputs
|
||
(list go-github-com-dave-jennifer
|
||
go-github-com-vektah-gqlparser-v2))
|
||
(home-page "https://git.sr.ht/~emersion/gqlclient")
|
||
(synopsis "GraphQL client and code generator")
|
||
(description
|
||
"This package provides a GraphQL client and code generator for Go.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-git-sr-ht-rockorager-go-jmap
|
||
(package
|
||
(name "go-git-sr-ht-rockorager-go-jmap")
|
||
(version "0.5.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.sr.ht/~rockorager/go-jmap")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1r8bmdlmvpk08i7xrqwgv0aaz05564wgcyji73nszdh2s32m4kzl"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "git.sr.ht/~rockorager/go-jmap"
|
||
#: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" "./..."))))))))
|
||
(native-inputs
|
||
(list
|
||
go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-oauth2))
|
||
(home-page "https://git.sr.ht/~rockorager/go-jmap")
|
||
(synopsis "JSON meta application protocol in Golang")
|
||
(description
|
||
"Package jmap implements JMAP Core protocol as defined in
|
||
@url{https://rfc-editor.org/rfc/rfc8620.html,RFC 8620} published on July
|
||
2019.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-aki237-nscjar
|
||
(package
|
||
(name "go-github-com-aki237-nscjar")
|
||
(version "0.0.0-20210417074043-bbb606196143")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aki237/nscjar")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0vbagy9g795b17lnnkkm2f3pcrkxrzc4qbzc656g2cdkdprdyb4m"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/aki237/nscjar"))
|
||
(home-page "https://github.com/aki237/nscjar")
|
||
(synopsis "Handle Netscape / Mozilla cookies")
|
||
(description
|
||
"@code{nscjar} is a Go library used to parse and output
|
||
Netscape/Mozilla's old-style cookie files. It also implements a simple cookie
|
||
jar struct to manage the cookies added to the cookie jar.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-alexliesenfeld-health
|
||
(package
|
||
(name "go-github-com-alexliesenfeld-health")
|
||
(version "0.8.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/alexliesenfeld/health")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1fchlvxwidsscskwq07vhxfwcn5wbigbizi51619l8gg09mr158q"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/alexliesenfeld/health"
|
||
#:phases #~(modify-phases %standard-phases
|
||
;; Examples requires additional dependencies and comes with
|
||
;; their own go.mod, consider to pack it as separate
|
||
;; package if required.
|
||
(add-after 'unpack 'remove-examples
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(delete-file-recursively
|
||
(string-append "src/" import-path "/examples")))))))
|
||
(native-inputs (list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/alexliesenfeld/health")
|
||
(synopsis "Simple and flexible health check library for Go")
|
||
(description
|
||
"This library provides a @code{http.Handler} that acts as a health
|
||
endpoint. It can be used by cloud infrastructure or other services to
|
||
determine the availability of an application.
|
||
|
||
Rather than simply returning a response with HTTP status code 200, this
|
||
library allows building health checks that test the availability of all
|
||
required dependencies. The HTTP response contains the aggregated health
|
||
result and details about the health status of each component.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-arceliar-ironwood
|
||
(package
|
||
(name "go-github-com-arceliar-ironwood")
|
||
(version "v0.0.0-20241213013129-743fe2fccbd3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/Arceliar/ironwood")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"1nnqn388lg4m9cq24vbgcp4z2wh78mga82p59gqzdl7d2cvpsk56"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/Arceliar/ironwood"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'remove-examples
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(delete-file-recursively
|
||
(string-append "src/" import-path "/cmd/ironwood-example"))))
|
||
;; XXX: Replace when go-build-system supports nested path.
|
||
(delete 'build)
|
||
(replace 'check
|
||
(lambda* (#:key import-path tests? #:allow-other-keys)
|
||
(when tests?
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(invoke "go" "test" "-v" "./..."))))))))
|
||
(propagated-inputs
|
||
(list go-github-com-arceliar-phony
|
||
go-github-com-bits-and-blooms-bitset
|
||
go-github-com-bits-and-blooms-bloom-v3
|
||
go-golang-org-x-crypto))
|
||
(home-page "https://github.com/Arceliar/ironwood")
|
||
(synopsis "Experimental network routing library")
|
||
(description
|
||
"Ironwood is a routing library with a @code{net.PacketConn}-compatible
|
||
interface using @code{ed25519.PublicKey}s as addresses. Basically, you use it
|
||
when you want to communicate with some other nodes in a network, but you can't
|
||
guarantee that you can directly connect to every node in that network. It was
|
||
written to test improvements to / replace the routing logic in
|
||
@url{https://github.com/yggdrasil-network/yggdrasil-go,Yggdrasil}, but it may
|
||
be useful for other network applications.")
|
||
(license license:mpl2.0)))
|
||
|
||
(define-public go-github-com-anaskhan96-soup
|
||
(package
|
||
(name "go-github-com-anaskhan96-soup")
|
||
(version "1.2.5")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/anaskhan96/soup")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0s19119sy4zqf05sgpdymcbdaz5bg86n7xwgd2m1vvxjmp485k5p"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/anaskhan96/soup"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net))
|
||
(home-page "https://github.com/anaskhan96/soup")
|
||
(synopsis "Web Scraper in Go, similar to BeautifulSoup")
|
||
(description
|
||
"Small web scraper package for Go, with its interface highly similar to
|
||
that of BeautifulSoup.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-andybalholm-cascadia
|
||
(package
|
||
(name "go-github-com-andybalholm-cascadia")
|
||
(version "1.3.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/andybalholm/cascadia")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0zgc9fjkn7d66cnmgnmalr9lrq4ii1spap95pf2x1hln4pflib5s"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
`(#:import-path "github.com/andybalholm/cascadia"))
|
||
(native-inputs
|
||
(list go-golang-org-x-net))
|
||
(home-page "https://github.com/andybalholm/cascadia/")
|
||
(synopsis "CSS selectors for HTML")
|
||
(description "The Cascadia package implements CSS selectors for use with
|
||
the parse trees produced by the html package.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-armon-go-socks5
|
||
(package
|
||
(name "go-github-com-armon-go-socks5")
|
||
(version "0.0.0-20160902184237-e75332964ef5")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/armon/go-socks5")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "104w10jf0wlxyxi35hf6frndgf0ybz21h54xjmnkivpb6slycpyq"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/armon/go-socks5"))
|
||
(native-inputs
|
||
(list go-golang-org-x-net))
|
||
(home-page "https://github.com/armon/go-socks5")
|
||
(synopsis "SOCKS5 server in Golang")
|
||
(description
|
||
"This package provides the @code{socks5} package that implements a
|
||
@url{http://en.wikipedia.org/wiki/SOCKS,SOCKS5 server}. SOCKS (Secure
|
||
Sockets) is used to route traffic between a client and server through an
|
||
intermediate proxy layer. This can be used to bypass firewalls or NATs.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-audriusbutkevicius-pfilter
|
||
(package
|
||
(name "go-github-com-audriusbutkevicius-pfilter")
|
||
(version "0.0.11")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/AudriusButkevicius/pfilter")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "03kwi1hnhcz9qdblmhpaqg2063k2ch29hc5dr8cl2z7q5rp81m9i"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/AudriusButkevicius/pfilter"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'remove-failing-tests
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(for-each delete-file
|
||
;; Remove tests requiring setting up local
|
||
;; connection.
|
||
(list "quic_test.go"))))))))
|
||
(propagated-inputs
|
||
(list go-github-com-pkg-errors
|
||
go-github-com-quic-go-quic-go
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/AudriusButkevicius/pfilter")
|
||
(synopsis "Filter packets into multiple virtual connections")
|
||
(description
|
||
"Pfilter is a Go package for filtering packets into multiple virtual
|
||
connections from a single physical connection.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-aws-aws-lambda-go
|
||
(package
|
||
(name "go-github-com-aws-aws-lambda-go")
|
||
(version "1.47.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aws/aws-lambda-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0xki0n3va9nr6dmlgrb8zarkccx5jba6ig6g8zxcznw3rlllf1zv"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/aws/aws-lambda-go"
|
||
#: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))
|
||
(home-page "https://github.com/aws/aws-lambda-go")
|
||
(synopsis "AWS Lambda for Go")
|
||
(description
|
||
"Libraries, samples, and tools to help Go developers develop AWS Lambda
|
||
functions.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go
|
||
(package
|
||
(name "go-github-com-aws-aws-sdk-go")
|
||
(version "1.55.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aws/aws-sdk-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0wsl1vcig3j9z6v2hppfr1bvrvbisck026fwq2a7yzmx36pwnj6a"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/aws/aws-sdk-go"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'disable-failing-tests
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(substitute* (find-files "." "\\_test.go$")
|
||
(("TestProcessProviderTimeout")
|
||
"OffTestProcessProviderTimeout")))))
|
||
;; XXX: Workaround for go-build-system's lack of Go modules
|
||
;; support.
|
||
(replace 'check
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(when tests?
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(invoke "go" "test" "-v" "./..."))))))))
|
||
(propagated-inputs
|
||
(list go-github-com-jmespath-go-jmespath))
|
||
(home-page "https://github.com/aws/aws-sdk-go")
|
||
(synopsis "The official AWS SDK for the Go programming language")
|
||
(description
|
||
"The official AWS SDK for the Go programming language.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go-v2
|
||
(package
|
||
(name "go-github-com-aws-aws-sdk-go-v2")
|
||
(version "1.32.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aws/aws-sdk-go-v2")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1iflf2ski7vm2z78wdmbrqpchc3qr50macnf965wmdyfinvx58wn"))
|
||
;; XXX: It contains a lot of sub packages defined with go.mod, consider
|
||
;; to pack them separately.
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Submodules with their own go.mod files and packaged separately:
|
||
;;
|
||
;; - github.com/aws/aws-sdk-go-v2/service/sqs
|
||
(for-each delete-file-recursively
|
||
(list "service/sqs"))))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/aws/aws-sdk-go-v2"
|
||
#:test-subdirs #~(list ".")))
|
||
(propagated-inputs
|
||
(list go-github-com-jmespath-go-jmespath
|
||
go-github-com-aws-smithy-go))
|
||
(home-page "https://github.com/aws/aws-sdk-go-v2")
|
||
(synopsis "AWS SDK for Go v2")
|
||
(description
|
||
"Package sdk is the official AWS SDK v2 for the Go programming language.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go-v2-config
|
||
(package
|
||
(inherit go-github-com-aws-aws-sdk-go-v2)
|
||
(name "go-github-com-aws-aws-sdk-go-v2-config")
|
||
(version "1.18.5")
|
||
(arguments
|
||
'(#:import-path "github.com/aws/aws-sdk-go-v2/config"
|
||
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-google-go-cmp
|
||
go-github-com-aws-smithy-go))))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go-v2-credentials
|
||
(package
|
||
(name "go-github-com-aws-aws-sdk-go-v2-credentials")
|
||
(version "1.17.48")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aws/aws-sdk-go-v2")
|
||
(commit (go-version->git-ref version
|
||
#:subdir "credentials"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1n3spqncpw6w11pwkqaiq7jyv6dv0229jsbshibg24l2g3accdqi"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/aws/aws-sdk-go-v2/credentials"
|
||
#:unpack-path "github.com/aws/aws-sdk-go-v2"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'fix-tests
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(substitute* (find-files "." "test\\.go")
|
||
(("/bin/sleep") (which "sleep")))))))))
|
||
(propagated-inputs
|
||
(list go-github-com-google-go-cmp
|
||
go-github-com-aws-smithy-go))
|
||
(home-page "https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/credentials")
|
||
(synopsis "AWS SDK for Go v2 - credentials module")
|
||
(description
|
||
"Package credentials provides types for retrieving credentials from
|
||
credentials sources.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go-v2-feature-s3-manager
|
||
(package
|
||
(inherit go-github-com-aws-aws-sdk-go-v2)
|
||
(name "go-github-com-aws-aws-sdk-go-v2-feature-s3-manager")
|
||
(version "1.11.44")
|
||
(arguments
|
||
'(#:import-path "github.com/aws/aws-sdk-go-v2/feature/s3/manager"
|
||
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
|
||
(propagated-inputs (list go-github-com-aws-smithy-go))))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go-v2-service-iam
|
||
(package
|
||
(inherit go-github-com-aws-aws-sdk-go-v2)
|
||
(name "go-github-com-aws-aws-sdk-go-v2-service-iam")
|
||
(version "1.44.161")
|
||
(arguments
|
||
'(#:import-path "github.com/aws/aws-sdk-go-v2/service/iam"
|
||
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-aws-smithy-go))))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go-v2-service-s3
|
||
(package
|
||
(inherit go-github-com-aws-aws-sdk-go-v2)
|
||
(name "go-github-com-aws-aws-sdk-go-v2-service-s3")
|
||
(version "1.30.0")
|
||
(arguments
|
||
'(#:import-path "github.com/aws/aws-sdk-go-v2/service/s3"
|
||
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-aws-smithy-go))))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go-v2-service-secretsmanager
|
||
(package
|
||
(name "go-github-com-aws-aws-sdk-go-v2-service-secretsmanager")
|
||
(version "1.34.8")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aws/aws-sdk-go-v2")
|
||
(commit (go-version->git-ref version
|
||
#:subdir "service/secretsmanager"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1n3spqncpw6w11pwkqaiq7jyv6dv0229jsbshibg24l2g3accdqi"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/aws/aws-sdk-go-v2/service/secretsmanager"
|
||
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-aws-smithy-go))
|
||
(home-page "https://github.com/aws/aws-sdk-go-v2")
|
||
(synopsis "AWS Secrets Manager service")
|
||
(description
|
||
"Package secretsmanager provides the API client, operations, and
|
||
parameter types for AWS Secrets Manager.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go-v2-service-sqs
|
||
(package
|
||
(name "go-github-com-aws-aws-sdk-go-v2-service-sqs")
|
||
(version "1.37.6")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aws/aws-sdk-go-v2")
|
||
(commit (go-version->git-ref version
|
||
#:subdir "service/sqs"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "158mgp8czzkhjdwli2wciwqihs56jp879ahjdjyy8c6fn0g3xdvb"))
|
||
(modules '((guix build utils)
|
||
(ice-9 ftw)
|
||
(srfi srfi-26)))
|
||
(snippet
|
||
#~(begin
|
||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||
;; Consider to implement it as re-usable procedure in
|
||
;; guix/build/utils or guix/build-system/go.
|
||
(define (delete-all-but directory . preserve)
|
||
(define (directory? x)
|
||
(and=> (stat x #f)
|
||
(compose (cut eq? 'directory <>) stat:type)))
|
||
(with-directory-excursion directory
|
||
(let* ((pred
|
||
(negate (cut member <> (append '("." "..") preserve))))
|
||
(items (scandir "." pred)))
|
||
(for-each (lambda (item)
|
||
(if (directory? item)
|
||
(delete-file-recursively item)
|
||
(delete-file item)))
|
||
items))))
|
||
(delete-all-but "service" "sqs")
|
||
(delete-all-but "." "service")))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/aws/aws-sdk-go-v2/service/sqs"
|
||
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-aws-smithy-go
|
||
go-github-com-aws-aws-sdk-go-v2))
|
||
(home-page "https://github.com/aws/aws-sdk-go-v2")
|
||
(synopsis "AWS Golang SDK for Simple Queue Service")
|
||
(description
|
||
"Package sqs provides the API client, operations, and parameter types for
|
||
Amazon Simple Queue Service.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go-v2-service-sso
|
||
(package
|
||
(inherit go-github-com-aws-aws-sdk-go-v2)
|
||
(name "go-github-com-aws-aws-sdk-go-v2-service-sso")
|
||
(version "1.11.27")
|
||
(arguments
|
||
'(#:import-path "github.com/aws/aws-sdk-go-v2/service/sso"
|
||
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-aws-smithy-go))))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go-v2-service-ssooidc
|
||
(package
|
||
(inherit go-github-com-aws-aws-sdk-go-v2)
|
||
(name "go-github-com-aws-aws-sdk-go-v2-service-ssooidc")
|
||
(version "1.13.10")
|
||
(arguments
|
||
'(#:import-path "github.com/aws/aws-sdk-go-v2/service/ssooidc"
|
||
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-aws-smithy-go))))
|
||
|
||
(define-public go-github-com-aws-aws-sdk-go-v2-service-sts
|
||
(package
|
||
(inherit go-github-com-aws-aws-sdk-go-v2)
|
||
(name "go-github-com-aws-aws-sdk-go-v2-service-sts")
|
||
(version "1.17.7")
|
||
(arguments
|
||
'(#:import-path "github.com/aws/aws-sdk-go-v2/service/sts"
|
||
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-aws-smithy-go))))
|
||
|
||
(define-public go-github-com-aws-smithy-go
|
||
(package
|
||
(name "go-github-com-aws-smithy-go")
|
||
(version "1.22.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aws/smithy-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Submodules with their own go.mod files and packaged separately:
|
||
;;
|
||
;; - github.com/aws/smithy-go/aws-http-auth
|
||
;; - github.com/aws/smithy-go/codegen
|
||
;; - github.com/aws/smithy-go/metrics/smithyotelmetrics
|
||
;; - github.com/aws/smithy-go/tracing/smithyoteltracing
|
||
(for-each delete-file-recursively
|
||
(list "aws-http-auth"
|
||
"codegen"
|
||
"metrics/smithyotelmetrics"
|
||
"tracing/smithyoteltracing"))))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/aws/smithy-go"))
|
||
(home-page "https://github.com/aws/smithy-go")
|
||
(synopsis "Smithy code generators for Go")
|
||
(description
|
||
"Package smithy provides the core components for a Smithy SDK.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-aws-smithy-go-aws-http-auth
|
||
(package
|
||
(name "go-github-com-aws-smithy-go-aws-http-auth")
|
||
(version "1.0.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aws/smithy-go")
|
||
(commit (go-version->git-ref version
|
||
#:subdir "aws-http-auth"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1iy9rlcj6qwy58rrddbvqy38lzw9d7y1i2d3mvf3f3z4i6rkwvd4"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:skip-build? #t
|
||
#:import-path "github.com/aws/smithy-go/aws-http-auth"
|
||
#:unpack-path "github.com/aws/smithy-go"))
|
||
(home-page "https://github.com/aws/smithy-go")
|
||
(synopsis "Consumable SigV4 and SigV4a request signing")
|
||
(description
|
||
"This package implements generically consumable SigV4 and SigV4a request
|
||
signing.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-aws-smithy-go-codegen
|
||
(package
|
||
(name "go-github-com-aws-smithy-go-codegen")
|
||
(version "0.0.0-20241226171254-10fbeed6f845")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aws/smithy-go")
|
||
(commit (go-version->git-ref version
|
||
#:subdir "codegen"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:skip-build? #t
|
||
#:import-path "github.com/aws/smithy-go/codegen"
|
||
#:unpack-path "github.com/aws/smithy-go"))
|
||
(home-page "https://github.com/aws/smithy-go")
|
||
(synopsis "Smithy code generators for Golang")
|
||
(description
|
||
"This package provides Gradle templates for Smithy code generators.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-aws-smithy-go-metrics-smithyotelmetrics
|
||
(package
|
||
(name "go-github-com-aws-smithy-go-metrics-smithyotelmetrics")
|
||
(version "1.0.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aws/smithy-go")
|
||
(commit (go-version->git-ref version
|
||
#:subdir "metrics/smithyotelmetrics"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/aws/smithy-go/metrics/smithyotelmetrics"
|
||
#:unpack-path "github.com/aws/smithy-go"))
|
||
(propagated-inputs
|
||
(list go-go-opentelemetry-io-otel
|
||
go-go-opentelemetry-io-otel)) ; for go.opentelemetry.io/otel/metric
|
||
(home-page "https://github.com/aws/smithy-go")
|
||
(synopsis "AWS Smithy OTEL metrics adapter")
|
||
(description
|
||
"Package smithyotelmetrics implements a Smithy client metrics adapter for
|
||
the OTEL Go SDK.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-aws-smithy-go-tracing-smithyoteltracing
|
||
(package
|
||
(name "go-github-com-aws-smithy-go-tracing-smithyoteltracing")
|
||
(version "1.0.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aws/smithy-go")
|
||
(commit (go-version->git-ref version
|
||
#:subdir "tracing/smithyoteltracing"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/aws/smithy-go/tracing/smithyoteltracing"
|
||
#:unpack-path "github.com/aws/smithy-go"))
|
||
(propagated-inputs
|
||
(list go-go-opentelemetry-io-otel))
|
||
(home-page "https://github.com/aws/smithy-go")
|
||
(synopsis "AWS Smithy OTEL tracing adapter")
|
||
(description
|
||
"Package smithyoteltracing implements a Smithy client tracing adapter for
|
||
the OTEL Go SDK.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-aymerick-douceur
|
||
(package
|
||
(name "go-github-com-aymerick-douceur")
|
||
(version "0.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/aymerick/douceur/")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
`(#:import-path "github.com/aymerick/douceur"))
|
||
(native-inputs
|
||
(list go-github-com-andybalholm-cascadia
|
||
go-github-com-gorilla-css
|
||
go-github-com-puerkitobio-goquery
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/aymerick/douceur/")
|
||
(synopsis "CSS parser and inliner")
|
||
(description "This package provides a CSS parser and inliner.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-azure-go-ntlmssp
|
||
(package
|
||
(name "go-github-com-azure-go-ntlmssp")
|
||
(version "0.0.0-20221128193559-754e69321358")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/Azure/go-ntlmssp")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0dg20fwylf5lpsc5fgnnzw7jxz0885bg97lla1b5wrlhjas6lidn"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; See <https://github.com/Azure/go-ntlmssp/issues/40>.
|
||
#:tests? #f
|
||
#:import-path "github.com/Azure/go-ntlmssp"))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-crypto))
|
||
(home-page "https://github.com/Azure/go-ntlmssp")
|
||
(synopsis "NTLM negotiation in Go")
|
||
(description
|
||
"This package provides @acronym{NT (New Technology) LAN
|
||
Manager,NTLM}/Negotiate authentication over HTTP.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-babolivier-go-doh-client
|
||
(package
|
||
(name "go-github-com-babolivier-go-doh-client")
|
||
(version "0.0.0-20201028162107-a76cff4cb8b6")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/babolivier/go-doh-client")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0ca72jz5d5wf5hkcjiwrjvh4fp9p0nqhgwyx9p3vq9sdrx524d21"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/babolivier/go-doh-client"))
|
||
(home-page "https://github.com/babolivier/go-doh-client")
|
||
(synopsis "DNS over HTTPS client implementation written in Golang")
|
||
(description
|
||
"Package doh implements client operations for @code{DoH} (DNS over HTTPS)
|
||
lookups. It implements looking up the following records:
|
||
@itemize
|
||
@item A
|
||
@item AAAA
|
||
@item CNAME
|
||
@item MX
|
||
@item NS
|
||
@item TXT
|
||
@item SRV
|
||
@item SOA
|
||
@item PTR
|
||
@end itemize")
|
||
(license license:gpl3)))
|
||
|
||
(define-public go-github-com-beevik-ntp
|
||
(package
|
||
(name "go-github-com-beevik-ntp")
|
||
(version "1.4.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/beevik/ntp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0n2mr4nnbsv5f0w3hkk3kmyn3wd2xqi5zxgcm8s50fdizk0nqmi9"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/beevik/ntp"
|
||
;; Tests requir access to <0.beevik-ntp.pool.ntp.org:53>.
|
||
#:test-flags #~(list "-skip" "TestOnlineQuery|TestOnlineTime")))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net))
|
||
(home-page "https://github.com/beevik/ntp")
|
||
(synopsis "NTP client package for Golang")
|
||
(description
|
||
"Package ntp provides an implementation of a Simple NTP (SNTP) client
|
||
capable of querying the current time from a remote NTP server as specified in
|
||
@url{https://rfc-editor.org/rfc/rfc5905.html, RFC 5905}.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-bep-golibsass
|
||
(package
|
||
(name "go-github-com-bep-golibsass")
|
||
(version "0.7.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/bep/golibsass")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0xk3m2ynbydzx87dz573ihwc4ryq0r545vz937szz175ivgfrhh3"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
'(begin
|
||
(delete-file-recursively "libsass_src")
|
||
#t))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/bep/golibsass/libsass"
|
||
#:unpack-path "github.com/bep/golibsass"
|
||
;; The dev build tag modifies the build to link to system libsass
|
||
;; instead of including the bundled one (which we remove.)
|
||
;; https://github.com/bep/golibsass/blob/v0.7.0/internal/libsass/a__cgo_dev.go
|
||
#:build-flags '("-tags" "dev")
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(add-before 'build 'generate-bindings
|
||
;; Generate bindings for system libsass, replacing the
|
||
;; pre-generated bindings.
|
||
(lambda* (#:key inputs unpack-path #:allow-other-keys)
|
||
(mkdir-p (string-append "src/" unpack-path "/internal/libsass"))
|
||
(let ((libsass-src (string-append (assoc-ref inputs "libsass-src") "/src")))
|
||
(substitute* (string-append "src/" unpack-path "/gen/main.go")
|
||
(("filepath.Join\\(rootDir, \"libsass_src\", \"src\"\\)")
|
||
(string-append "\"" libsass-src "\""))
|
||
(("../../libsass_src/src/")
|
||
libsass-src)))
|
||
(invoke "go" "generate" (string-append unpack-path "/gen"))
|
||
#t))
|
||
(replace 'check
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(if tests?
|
||
(invoke "go" "test" import-path "-tags" "dev"))
|
||
#t)))))
|
||
(propagated-inputs
|
||
(list libsass))
|
||
(native-inputs
|
||
`(("go-github-com-frankban-quicktest" ,go-github-com-frankban-quicktest)
|
||
("libsass-src" ,(package-source libsass))))
|
||
(home-page "https://github.com/bep/golibsass")
|
||
(synopsis "Easy to use Go bindings for LibSass")
|
||
(description
|
||
"This package provides SCSS compiler support for Go applications.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-bradenhilton-mozillainstallhash
|
||
(package
|
||
(name "go-github-com-bradenhilton-mozillainstallhash")
|
||
(version "1.0.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/bradenhilton/mozillainstallhash")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0j54ssnvk2vy77g23zrhi9acwblnamj63i7wmmdnb89fjg0xc9km"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/bradenhilton/mozillainstallhash"))
|
||
(propagated-inputs
|
||
(list go-github-com-bradenhilton-cityhash
|
||
go-golang-org-x-text))
|
||
(home-page "https://github.com/bradenhilton/mozillainstallhash")
|
||
(synopsis "Generates the hash used in installs of Mozilla software")
|
||
(description
|
||
"This package provides a functionality to get the hash used to
|
||
differentiate between installs of Mozilla software in @code{installs.ini} and
|
||
@code{profiles.ini}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-caddyserver-certmagic
|
||
(package
|
||
(name "go-github-com-caddyserver-certmagic")
|
||
(version "0.21.4")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/caddyserver/certmagic")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "061whx9p00lpxlfnywizqx5z9b020ggqg5vx5r5v2qhdrprg1gkz"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:test-flags
|
||
#~(list "-skip"
|
||
;; Some tests require networking to run so skip them altogether.
|
||
(string-join
|
||
(list "TestLookupNameserversOK/physics.georgetown.edu."
|
||
"TestFindZoneByFqdn/domain_is_a_CNAME"
|
||
"TestFindZoneByFqdn/domain_is_a_non-existent_subdomain"
|
||
"TestFindZoneByFqdn/domain_is_a_eTLD"
|
||
"TestFindZoneByFqdn/domain_is_a_cross-zone_CNAME"
|
||
"TestFindZoneByFqdn/NXDOMAIN"
|
||
"TestFindZoneByFqdn/several_non_existent_nameservers")
|
||
"|"))
|
||
#:import-path "github.com/caddyserver/certmagic"))
|
||
(propagated-inputs
|
||
(list go-github-com-caddyserver-zerossl
|
||
go-github-com-klauspost-cpuid-v2
|
||
go-github-com-libdns-libdns
|
||
go-github-com-mholt-acmez
|
||
go-github-com-miekg-dns
|
||
go-github-com-zeebo-blake3
|
||
go-go-uber-org-zap
|
||
go-golang-org-x-crypto
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/caddyserver/certmagic")
|
||
(synopsis "Automatic HTTPS for any Go program")
|
||
(description
|
||
"@code{certmagic} provides API for TLS Automation with full control over almost
|
||
every aspect of the system.
|
||
|
||
Main features:
|
||
@itemize
|
||
@item Fully automated certificate management including issuance and renewal, with
|
||
support for certificate revocation. Also works in conjunction with your own
|
||
certificates.
|
||
@item Wildcard certificates.
|
||
@item One-line, fully managed HTTPS servers, with HTTP->HTTPS redirects.
|
||
@item Multiple issuers supported: get certificates from multiple sources/CAs for
|
||
redundancy and resiliency.
|
||
@item Solves all 3 common ACME challenges: HTTP, TLS-ALPN, and DNS (and capable of
|
||
others.)
|
||
@item Robust error handling:
|
||
@itemize
|
||
@item Challenges are randomized to avoid accidental dependence and rotated to
|
||
overcome certain network blockages.
|
||
@item Robust retries for up to 30 days.
|
||
@item Exponential backoff with carefully-tuned intervals.
|
||
@item Retries with optional test/staging CA endpoint instead of production, to avoid
|
||
rate limits.
|
||
@end itemize
|
||
@item All libdns DNS providers work out-of-the-box.
|
||
@item Pluggable storage backends (default: file system) and key sources.
|
||
@item Automatic OCSP stapling.
|
||
@item Distributed solving of all challenges (works behind load balancers.)
|
||
@item Supports @samp{on-demand} issuance of certificates.
|
||
@item Optional event hooks for observation.
|
||
@item One-time private keys by default (new key for each cert) to discourage pinning
|
||
and reduce scope of key compromise.
|
||
@item Works with any certificate authority (CA) compliant with the ACME specification
|
||
@url{https://tools.ietf.org/html/rfc8555, RFC 8555}.
|
||
@item Must-Staple (optional; not default.)
|
||
@item Full support for draft-ietf-acme-ari (ACME Renewal Information; ARI) extension.
|
||
@end itemize")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-caddyserver-zerossl
|
||
(package
|
||
(name "go-github-com-caddyserver-zerossl")
|
||
(version "0.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/caddyserver/zerossl")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0hr2kdabhm35hz5krp7m3g6wxvyb9xlqgmy3krf4wwb3yabsqp1m"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/caddyserver/zerossl"))
|
||
(home-page "https://github.com/caddyserver/zerossl")
|
||
(synopsis "ZeroSSL REST API client implementation for Go")
|
||
(description
|
||
"@code{zerossl} implements the @url{https://zerossl.com/documentation/api/,
|
||
ZeroSSL REST API}.
|
||
|
||
The REST API is distinct from the @url{https://zerossl.com/documentation/acme/, ACME
|
||
endpoint}, which is a standardized way of obtaining certificates.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-ccding-go-stun
|
||
(package
|
||
(name "go-github-com-ccding-go-stun")
|
||
(version "0.1.4")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/ccding/go-stun")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0wjhckyg42kp04njhj7gni84cyk0s7m17n13kqf6r7mjzx8a83pw"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/ccding/go-stun"))
|
||
(home-page "https://github.com/ccding/go-stun")
|
||
(synopsis "STUN client implementation")
|
||
(description
|
||
"Go-stun is a go implementation of the STUN client (RFC 3489
|
||
and RFC 5389).")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-cenkalti-backoff-v4
|
||
(package
|
||
(name "go-github-com-cenkalti-backoff-v4")
|
||
(version "4.3.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/cenkalti/backoff")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1pwr7fzxgngb073q98qrz1f90bkk3pljynif6jl5a6q6kcsn7xf1"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/cenkalti/backoff/v4"))
|
||
(home-page "https://github.com/cenkalti/backoff")
|
||
(synopsis "The exponential backoff algorithm in Go")
|
||
(description "This is a Go port of the exponential backoff algorithm from
|
||
@url{https://github.com/google/google-http-java-client/blob/da1aa993e90285ec18579f1553339b00e19b3ab5/google-http-client/src/main/java/com/google/api/client/util/ExponentialBackOff.java,
|
||
Google's HTTP Client Library for Java}.
|
||
|
||
@url{http://en.wikipedia.org/wiki/Exponential_backoff, Exponential backoff} is an
|
||
algorithm that uses feedback to multiplicatively decrease the rate of some process,
|
||
in order to gradually find an acceptable rate. The retries exponentially increase
|
||
and stop increasing when a certain threshold is met.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-chris-ramon-douceur
|
||
(package
|
||
(name "go-github-com-chris-ramon-douceur")
|
||
(version "0.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/chris-ramon/douceur")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
`(#:import-path "github.com/chris-ramon/douceur"))
|
||
(propagated-inputs
|
||
(list go-github-com-aymerick-douceur
|
||
go-github-com-gorilla-css))
|
||
(native-inputs
|
||
(list go-github-com-puerkitobio-goquery
|
||
go-github-com-andybalholm-cascadia
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/chris-ramon/douceur/")
|
||
(synopsis "CSS parser and inliner")
|
||
(description "This package provides a CSS parser and inliner.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-circonus-labs-circonus-gometrics
|
||
(package
|
||
(name "go-github-com-circonus-labs-circonus-gometrics")
|
||
(version "2.3.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/circonus-labs/circonus-gometrics")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0s2wir711h0k2h8xsypgpzshccnx8jkwjfni7n32l7wd8yng9ngs"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Module name has been changed upstream, permament redirect:
|
||
;; <https://github.com/circonus-labs/circonusllhist> ->
|
||
;; <https://github.com/openhistogram/circonusllhist>.
|
||
(substitute* (find-files "." "\\.go$")
|
||
(("github.com/circonus-labs/circonusllhist")
|
||
"github.com/openhistogram/circonusllhist"))))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:test-flags #~(list "-skip" "TestNew|TestFlushMetrics|TestPromOutput")
|
||
#:import-path "github.com/circonus-labs/circonus-gometrics"))
|
||
(propagated-inputs
|
||
(list go-github-com-hashicorp-go-retryablehttp
|
||
go-github-com-openhistogram-circonusllhist
|
||
go-github-com-pkg-errors
|
||
go-github-com-tv42-httpunix))
|
||
(home-page "https://github.com/circonus-labs/circonus-gometrics")
|
||
(synopsis "Circonus metrics tracking for Golang")
|
||
(description
|
||
"This library supports named counters, gauges and histograms. It also
|
||
provides convenience wrappers for registering latency instrumented functions
|
||
with Go's builtin http server.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-circonus-labs-circonus-gometrics-v3
|
||
(package
|
||
(inherit go-github-com-circonus-labs-circonus-gometrics)
|
||
(name "go-github-com-circonus-labs-circonus-gometrics-v3")
|
||
(version "3.4.7")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/circonus-labs/circonus-gometrics")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1wdnhj1xwm5p5wp76afs08aq30hkpgnq4802d6ylnpb3n46v0lj4"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(substitute-keyword-arguments
|
||
(package-arguments go-github-com-circonus-labs-circonus-gometrics)
|
||
((#:import-path _) "github.com/circonus-labs/circonus-gometrics/v3")))
|
||
(propagated-inputs
|
||
(modify-inputs (package-propagated-inputs
|
||
go-github-com-circonus-labs-circonus-gometrics)
|
||
(prepend go-github-com-circonus-labs-go-apiclient)))))
|
||
|
||
(define-public go-github-com-circonus-labs-go-apiclient
|
||
(package
|
||
(name "go-github-com-circonus-labs-go-apiclient")
|
||
(version "0.7.24")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/circonus-labs/go-apiclient")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1ysfycnjmqkn1prlz68k2nkrkk3570q5gx0d6vdvvwfhvlisj4c7"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/circonus-labs/go-apiclient"))
|
||
(propagated-inputs
|
||
(list go-github-com-hashicorp-go-retryablehttp
|
||
go-github-com-pkg-errors))
|
||
(home-page "https://github.com/circonus-labs/go-apiclient")
|
||
(synopsis "Circonus API Client for Golang")
|
||
(description
|
||
"Package apiclient provides methods for interacting with the Circonus
|
||
API. See the full Circonus API Documentation at
|
||
@url{https://login.circonus.com/resources/api} for more information.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-cli-browser
|
||
(package
|
||
(name "go-github-com-cli-browser")
|
||
(version "1.3.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/cli/browser")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1f54ap2a4df32bwrwqsasfsikkxngkk4wr2wfbsns4lf0yymra6k"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/cli/browser"))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-sys))
|
||
(home-page "https://github.com/cli/browser")
|
||
(synopsis "Helpers to open URLs, files, or readers in a web browser")
|
||
(description
|
||
"Package browser provides helpers to open files, readers, and URLs in a
|
||
browser window.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-coder-websocket
|
||
(package
|
||
(name "go-github-com-coder-websocket")
|
||
(version "1.8.12")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/coder/websocket")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "172v9mqghswf50ga512qghb6ii0ivz5fi2iyjzdnbm42g0cr4fjj"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Submodules with their own go.mod files and packaged separately:
|
||
;;
|
||
;; - github.com/coder/websocket/internal/thirdparty
|
||
(delete-file-recursively "internal/thirdparty")))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list #:import-path "github.com/coder/websocket"))
|
||
(native-inputs
|
||
(list go-golang-org-x-time)) ; for examples
|
||
(home-page "https://github.com/coder/websocket")
|
||
(synopsis "WebSocket library for Go")
|
||
(description
|
||
"@code{websocket} is a minimal and idiomatic
|
||
@url{https://websockets.spec.whatwg.org/, WebSocket} library for Go.
|
||
|
||
Main features:
|
||
@itemize
|
||
@item Minimal and idiomatic API.
|
||
@item First class @url{https://blog.golang.org/context, context.Context}
|
||
support.
|
||
@item Fully passes the WebSocket
|
||
@url{https://github.com/crossbario/autobahn-testsuite, autobahn-testsuite}.
|
||
@item @url{https://pkg.go.dev/github.com/coder/websocket?tab=imports,
|
||
Zero dependencies}.
|
||
@item JSON helpers in the @url{https://pkg.go.dev/github.com/coder/websocket/wsjson,
|
||
wsjson} subpackage
|
||
@item Zero alloc reads and writes.
|
||
@item Concurrent writes.
|
||
@item @url{https://pkg.go.dev/github.com/coder/websocket#Conn.Close,
|
||
Close handshake}.
|
||
@item @url{https://pkg.go.dev/github.com/coder/websocket#NetConn, net.Conn}
|
||
wrapper
|
||
@item @url{https://pkg.go.dev/github.com/coder/websocket#Conn.Ping, Ping pong}
|
||
API.
|
||
@item @url{https://tools.ietf.org/html/rfc7692, RFC 7692} permessage-deflate
|
||
compression.
|
||
@item @url{https://pkg.go.dev/github.com/coder/websocket#Conn.CloseRead,
|
||
CloseRead} helper for write only connections
|
||
@item Compile to @url{https://pkg.go.dev/github.com/coder/websocket#hdr-Wasm,
|
||
Wasm}.
|
||
@end itemize
|
||
")
|
||
(license license:isc)))
|
||
|
||
(define-public go-github-com-containerd-typeurl
|
||
(package
|
||
(name "go-github-com-containerd-typeurl")
|
||
(version "1.0.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/containerd/typeurl")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0wvfxlxgkln11d9s6rxay965c715bnpk203klbsq8m8qpjqrz620"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list #:import-path "github.com/containerd/typeurl"))
|
||
(propagated-inputs
|
||
(list go-github-com-gogo-protobuf
|
||
go-github-com-pkg-errors))
|
||
(home-page "https://github.com/containerd/typeurl")
|
||
(synopsis "Managing marshaled types to @code{protobuf.Any}")
|
||
(description
|
||
"This package implements a functionality of managing the registration,
|
||
marshaling, and unmarshaling of encoded types. It helps when types are sent
|
||
over a ttrpc/GRPC API and marshaled as a protobuf
|
||
@url{https://pkg.go.dev/google.golang.org/protobuf@@v1.27.1/types/known/anypb#Any,
|
||
Any}.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-containerd-typeurl-v2
|
||
(package
|
||
(inherit go-github-com-containerd-typeurl)
|
||
(name "go-github-com-containerd-typeurl-v2")
|
||
(version "2.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/containerd/typeurl")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1n43s8zqwwrvpzb0pczm73xx4w8yb96ax31cripzxmfhj43z21b5"))))
|
||
(arguments
|
||
(list #:import-path "github.com/containerd/typeurl/v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-gogo-protobuf
|
||
go-google-golang-org-protobuf))))
|
||
|
||
(define-public go-github-com-coreos-go-oidc
|
||
(package
|
||
(name "go-github-com-coreos-go-oidc")
|
||
(version "2.3.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/coreos/go-oidc")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "180wnxiim622v17xcnrjrg9g07mg4xizmlxxyrl9p42is0abi9c8"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list #:import-path "github.com/coreos/go-oidc"))
|
||
(native-inputs
|
||
(list go-golang-org-x-net))
|
||
(propagated-inputs
|
||
(list go-github-com-pquerna-cachecontrol
|
||
go-golang-org-x-oauth2
|
||
go-gopkg-in-go-jose-go-jose-v2))
|
||
(home-page "https://github.com/coreos/go-oidc")
|
||
(synopsis "OpenID Connect support for Go")
|
||
(description
|
||
"This package enables OpenID Connect support for the
|
||
@code{go-golang-org-x-oauth2} package.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-coreos-go-oidc-v3
|
||
(package
|
||
(inherit go-github-com-coreos-go-oidc)
|
||
(name "go-github-com-coreos-go-oidc-v3")
|
||
(version "3.11.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/coreos/go-oidc")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "00nbv15pjfcfxdy0i4k366ricdm2cylhpwak3hmjlgh6lrzxypl9"))))
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/coreos/go-oidc/v3"
|
||
#: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" "./..."))))))))
|
||
(propagated-inputs
|
||
(list go-github-com-go-jose-go-jose-v4
|
||
go-golang-org-x-net
|
||
go-golang-org-x-oauth2))))
|
||
|
||
(define-public go-github-com-cretz-bine
|
||
(package
|
||
;; This package can be used with CGO to statically compile Tor. This
|
||
;; package expects <https://github.com/cretz/tor-static> to be cloned at
|
||
;; $GOPATH/src/github.com/cretz/tor-static as if it was fetched with go
|
||
;; get. If you use go modules the expected path would be
|
||
;; $GOPATH/pkg/mod/github.com/cretz/tor-static libs. See
|
||
;; <https://github.com/cretz/bine/blob/v0.2.0/process/embedded/process.go#L7>.
|
||
(name "go-github-com-cretz-bine")
|
||
(version "0.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/cretz/bine")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "16h7j7v4qbwb7zjsbc1p3b67xji7hgis95znz9cj8fw3rqxwvkcs"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/cretz/bine"
|
||
#:test-subdirs #~(list "tests/..." "torutil/...")
|
||
#: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-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-crypto
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/cretz/bine")
|
||
(synopsis "Accessing and embedding Tor clients and servers from Golang")
|
||
(description
|
||
"Bine is a toolkit to assist in creating Tor clients and servers.
|
||
Features:
|
||
@itemize
|
||
@item full support for the Tor controller API
|
||
@item support for @code{net.Conn} and @code{net.Listen} style APIs
|
||
@item supports statically compiled Tor to embed Tor into the binary
|
||
@item supports v3 onion services
|
||
@item support for embedded control socket in Tor >= 0.3.5
|
||
@end itemize")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-datadog-datadog-go
|
||
(package
|
||
(name "go-github-com-datadog-datadog-go")
|
||
(version "4.8.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/DataDog/datadog-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "03dc3ld9zyynhmslzlciry6rs06hvd1c5finjip9vj300xaybazl"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/DataDog/datadog-go"
|
||
#: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))
|
||
(home-page "https://github.com/DataDog/datadog-go")
|
||
(synopsis "Golang client library to work with DataDog's API")
|
||
(description
|
||
"@code{datadog-go} is a library that provides a
|
||
@url{https://docs.datadoghq.com/developers/dogstatsd/?code-lang=go,@code{DogStatsD}}
|
||
client in Golang.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-datadog-datadog-go-v5
|
||
(package
|
||
(inherit go-github-com-datadog-datadog-go)
|
||
(name "go-github-com-datadog-datadog-go-v5")
|
||
(version "5.5.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/DataDog/datadog-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "05cw8n2hv8sa6s4qi4xkkv75y9bzn5qdqx1hv5g9h49cw92rkcas"))))
|
||
(arguments
|
||
(substitute-keyword-arguments
|
||
(package-arguments go-github-com-datadog-datadog-go)
|
||
((#:import-path _) "github.com/DataDog/datadog-go/v5")))
|
||
(native-inputs
|
||
(modify-inputs (package-native-inputs go-github-com-datadog-datadog-go)
|
||
(append go-github-com-golang-mock)))))
|
||
|
||
(define-public go-github-com-davecgh-go-xdr
|
||
(package
|
||
(name "go-github-com-davecgh-go-xdr")
|
||
(version "0.0.0-20161123171359-e6a2ba005892")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/davecgh/go-xdr")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"0vifrz4iil4r7k8sz5iqlfbh80ysgs5abp2simgyhsbrkxrrsrrd"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/davecgh/go-xdr/xdr2"
|
||
#:unpack-path "github.com/davecgh/go-xdr"))
|
||
(home-page "https://github.com/davecgh/go-xdr")
|
||
(synopsis "Pure Go implementation of the XDR standard")
|
||
(description
|
||
"@code{go-xdr} implements the data representation portion of the External
|
||
Data Representation (XDR) standard protocol as specified in RFC
|
||
4506 (obsoletes RFC 1832 and RFC 1014) in pure Go.")
|
||
(license license:isc)))
|
||
|
||
(define-public go-github-com-docker-go-connections
|
||
(package
|
||
(name "go-github-com-docker-go-connections")
|
||
(version "0.5.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/docker/go-connections")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0svfa9g4xvbn87l5kiww1jkijmci9g5821wjp81xz1rfp13cqrk8"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/docker/go-connections"
|
||
#:test-flags
|
||
#~(list "-skip"
|
||
(string-join
|
||
;; Unable to verify certificate 1: x509: certificate signed by
|
||
;; unknown authority.
|
||
(list "TestConfigClientExclusiveRootPools"
|
||
"TestConfigServerExclusiveRootPools")
|
||
"|"))))
|
||
(home-page "https://github.com/docker/go-connections")
|
||
(synopsis "Networking library for Go")
|
||
(description
|
||
"This package provides a library to work with network connections in the
|
||
Go language. In particular it provides tools to deal with network address
|
||
translation (NAT), proxies, sockets, and transport layer security (TLS).")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-dpotapov-go-spnego
|
||
(package
|
||
(name "go-github-com-dpotapov-go-spnego")
|
||
(version "0.0.0-20220426193508-b7f82e4507db")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/dpotapov/go-spnego")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1rpcgzkqhdwfsi8a9f9qar16i663pdx3gvwd6c0vfppy7qjmpjfr"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/dpotapov/go-spnego"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-jcmturner-gokrb5-v8
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/dpotapov/go-spnego")
|
||
(synopsis "HTTP calls with Kerberos authentication")
|
||
(description
|
||
"The package extends Go's HTTP Transport allowing Kerberos
|
||
authentication through Negotiate mechanism (see
|
||
@url{https://tools.ietf.org/html/rfc4559, RFC4559}).")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-elazarl-goproxy
|
||
(package
|
||
(name "go-github-com-elazarl-goproxy")
|
||
(version "0.0.0-20241221210044-9faedc2f9e9f")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/elazarl/goproxy")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0j3v0y18igr3wy9vbwyg19fzy12jc41kmpfcz2jh1dnk6kxn2n67"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/elazarl/goproxy"
|
||
#:test-flags
|
||
#~(list "-skip" (string-join
|
||
;; Networking or curl are required.
|
||
(list "TestCurlMinusP"
|
||
"TestSimpleHttpRequest"
|
||
"TestBasicConnectAuthWithCurl"
|
||
"TestBasicAuthWithCurl"
|
||
"TestConstantImageHandler"
|
||
"TestImageHandler"
|
||
"TestReplaceImage")
|
||
"|"))
|
||
#: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")))))))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net))
|
||
(home-page "https://github.com/elazarl/goproxy")
|
||
(synopsis "HTTP proxy library for Go")
|
||
(description
|
||
"GoProxy is a library to create a customized HTTP/HTTPS proxy server
|
||
using Go (aka Golang), with several configurable settings available. The
|
||
target of this project is to offer an optimized proxy server, usable with
|
||
reasonable amount of traffic, yet customizable and programmable.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-ema-qdisc
|
||
(package
|
||
(name "go-github-com-ema-qdisc")
|
||
(version "1.0.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/ema/qdisc")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1v2k2z1xjxfa0qrrnafvb51dxwxm0s3nbsi6n64cm2rylxjskfmy"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/ema/qdisc"))
|
||
(propagated-inputs
|
||
(list go-github-com-mdlayher-netlink))
|
||
(home-page "https://github.com/ema/qdisc")
|
||
(synopsis "Queuing discipline information via netlink")
|
||
(description
|
||
"Package @code{qdisc} allows getting queuing discipline information via
|
||
netlink,similarly to what @code{tc -s qdisc show} does.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-emersion-go-imap
|
||
(package
|
||
(name "go-github-com-emersion-go-imap")
|
||
(version "1.2.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/emersion/go-imap")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0ak2ysvfcc9w0g1070msis8x9sh6gzvf0nd65ks594siwbmqddw8"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/emersion/go-imap"))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-text
|
||
go-github-com-emersion-go-sasl
|
||
go-github-com-emersion-go-message))
|
||
(home-page "https://github.com/emersion/go-imap")
|
||
(synopsis "IMAP4rev1 library written in Go")
|
||
(description
|
||
"This package provides an IMAP4rev1 library written in Go. It can be
|
||
used to build IMAP clients and servers.")
|
||
(license license:expat)))
|
||
|
||
;; XXX: This repository has been archived by the owner on Sep 8, 2021. It is
|
||
;; now read-only.
|
||
(define-public go-github-com-emersion-go-imap-idle
|
||
(let ((commit "2704abd7050ed7f2143753554ee23affdf847bd9")
|
||
(revision "0"))
|
||
(package
|
||
(name "go-github-com-emersion-go-imap-idle")
|
||
(version (git-version "0.0.0" revision commit))
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/emersion/go-imap-idle")
|
||
(commit commit)))
|
||
(sha256
|
||
(base32
|
||
"0blwcadmxgqsdwgr9m4jqfbpfa2viw5ah19xbybpa1z1z4aj5cbc"))
|
||
(file-name (git-file-name name version))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/emersion/go-imap-idle"))
|
||
(propagated-inputs
|
||
(list go-github-com-emersion-go-imap))
|
||
(home-page "https://github.com/emersion/go-imap-idle")
|
||
(synopsis "IDLE extension for go-imap")
|
||
(description "This package provides an IDLE extension for go-imap.")
|
||
(license license:expat))))
|
||
|
||
(define-public go-github-com-emersion-go-imap-sortthread
|
||
(package
|
||
(name "go-github-com-emersion-go-imap-sortthread")
|
||
(version "1.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/emersion/go-imap-sortthread")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1cfbgz1l5angnj52v9pxwggai2shx0h78ffcp7j4r4lr7lzflnwz"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/emersion/go-imap-sortthread"))
|
||
(propagated-inputs
|
||
(list
|
||
go-github-com-emersion-go-imap))
|
||
(home-page "https://github.com/emersion/go-imap-sortthread")
|
||
(synopsis "Sorting and threading of messages for the imap package")
|
||
(description
|
||
"The sortthread package implements message sorting and threading for
|
||
@code{go-github-com-emersion-go-imap}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-emersion-go-maildir
|
||
(package
|
||
(name "go-github-com-emersion-go-maildir")
|
||
(version "0.5.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/emersion/go-maildir")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0wa7spn3qa7ipmg29vrimw7phyybyaagdalrjklcazjb6rplvwpl"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/emersion/go-maildir"))
|
||
(home-page "https://github.com/emersion/go-maildir")
|
||
(synopsis "Maildir interface for Go")
|
||
(description
|
||
"This package provides an interface to mailboxes in the Maildir format.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-emersion-go-mbox
|
||
(package
|
||
(name "go-github-com-emersion-go-mbox")
|
||
(version "1.0.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/emersion/go-mbox")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0vnadh2khx7sxn0irrd8gz8ra02x7ij0q8zglq3rqffqil06nliv"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/emersion/go-mbox"))
|
||
(home-page "https://github.com/emersion/go-mbox")
|
||
(synopsis "Go library for handling @code{mbox} files")
|
||
(description
|
||
"This package provides a library for parsing and formatting @code{mbox}
|
||
files.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-emersion-go-message
|
||
(package
|
||
(name "go-github-com-emersion-go-message")
|
||
(version "0.18.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/emersion/go-message")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0gzcgrs5sava8fpybp5cw6f3zqnbz096wf93hcgkrg94wl1g7kqb"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list #:import-path "github.com/emersion/go-message"))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-text))
|
||
(home-page "https://github.com/emersion/go-message")
|
||
(synopsis "Internet messages and MIME for Go")
|
||
(description
|
||
"The message package implements the Internet Message Format and
|
||
Multipurpose Internet Mail Extensions in Go.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-emersion-go-milter
|
||
(package
|
||
(name "go-github-com-emersion-go-milter")
|
||
(version "0.4.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/emersion/go-milter")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "11qjwjz6ippsx9da81gylx46p1a96mk39j54ayw925m40skqhh3c"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/emersion/go-milter"))
|
||
(propagated-inputs
|
||
(list go-github-com-emersion-go-message))
|
||
(home-page "https://github.com/emersion/go-milter")
|
||
(synopsis "Milter mail filters in Go")
|
||
(description
|
||
"This package provides an interface for implementing milter mail filters
|
||
for Go.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-emersion-go-msgauth
|
||
(package
|
||
(name "go-github-com-emersion-go-msgauth")
|
||
(version "0.6.8")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/emersion/go-msgauth")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0az83i6jmk3bjglgdqw5zsvhh8698rav0mcg4dy8kr0cgq0lj5zs"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/emersion/go-msgauth"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; XXX: Run all tests, workaround for go-build-system's lack of Go
|
||
;; modules support.
|
||
(delete 'build)
|
||
(replace 'check
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(when tests?
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(invoke "go" "test" "-v" "./..."))))))))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-crypto
|
||
go-github-com-emersion-go-milter
|
||
go-github-com-emersion-go-message))
|
||
(home-page "https://github.com/emersion/go-msgauth")
|
||
(synopsis "Email authentication for Go")
|
||
(description
|
||
"This package provides a Go library for authenticating emails.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-emersion-go-sasl
|
||
(let ((commit "0b9dcfb154ac3d7515b08bc2691a0332800edfe9")
|
||
(revision "1"))
|
||
(package
|
||
(name "go-github-com-emersion-go-sasl")
|
||
(version (git-version "0.0.0" revision commit))
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/emersion/go-sasl")
|
||
(commit commit)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1cbf86wkqrdinfydndgdlnayg4a5mg3d4vqra377j2sfkg7wj0hs"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/emersion/go-sasl"))
|
||
(home-page "https://github.com/emersion/go-sasl")
|
||
(synopsis "SASL library written in Go")
|
||
(description
|
||
"This package provides a SASL library written in Go.")
|
||
(license license:expat))))
|
||
|
||
(define-public go-github-com-emersion-go-smtp
|
||
(package
|
||
(name "go-github-com-emersion-go-smtp")
|
||
(version "0.21.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/emersion/go-smtp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0drvmvrkmhqhnv4m3my1hbkyyva2vi35b36j0pdi57xc9rflziq3"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/emersion/go-smtp"))
|
||
(propagated-inputs
|
||
(list go-github-com-emersion-go-sasl))
|
||
(home-page "https://github.com/emersion/go-smtp")
|
||
(synopsis "SMTP implementation for Go")
|
||
(description
|
||
"This package implements the Simple Mail Transfer Protocol as defined by
|
||
RFC 5321.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-emicklei-go-restful-v3
|
||
(package
|
||
(name "go-github-com-emicklei-go-restful-v3")
|
||
(version "3.4.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/emicklei/go-restful")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0m1y5a6xr6hmdj77afrvyh2llkbhn1166lcrgis654shl8zs9qhz"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/emicklei/go-restful"
|
||
#: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")))))))
|
||
(home-page "https://github.com/emicklei/go-restful")
|
||
(synopsis "Build REST-style web services using Go")
|
||
(description
|
||
"This package provides @code{go-restful}, which helps developers to use
|
||
@code{http} methods explicitly and in a way that's consistent with the HTTP
|
||
protocol definition.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-evanphx-json-patch
|
||
(package
|
||
(name "go-github-com-evanphx-json-patch")
|
||
(version "0.5.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/evanphx/json-patch")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "00sib9ba8j1h1n3r1cxx48zn8hs6sxwnrh78p6wbs28wcpz8nqxi"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/evanphx/json-patch"))
|
||
(propagated-inputs
|
||
(list go-github-com-jessevdk-go-flags go-github-com-pkg-errors))
|
||
(home-page "https://github.com/evanphx/json-patch")
|
||
(synopsis "Apply and create JSON (RFC6902 and RFC7386) patches for Golang")
|
||
(description
|
||
"@code{jsonpatch} is a library which provides functionality for both
|
||
applying @url{http://tools.ietf.org/html/rfc6902,RFC6902 JSON patches} against
|
||
documents, as well as for calculating & applying
|
||
@url{https://tools.ietf.org/html/rfc7396,RFC7396 JSON merge patches}.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-felixge-httpsnoop
|
||
(package
|
||
(name "go-github-com-felixge-httpsnoop")
|
||
(version "1.0.4")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/felixge/httpsnoop")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1xrvg5ndpz4gv9mf9xl6p6gjmvvv8bbzaspcr070qxx72jhlllkk"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/felixge/httpsnoop"))
|
||
(home-page "https://github.com/felixge/httpsnoop/")
|
||
(synopsis "Capture http related metrics")
|
||
(description
|
||
"Httpsnoop provides an easy way to capture http related
|
||
metrics (i.e. response time, bytes written, and http status code) from your
|
||
application's http.Handlers.")
|
||
(license license:expat)))
|
||
|
||
;; This project looks like dormant or abandoned, see
|
||
;; <https://github.com/francoispqt/gojay/issues/150>.
|
||
(define-public go-github-com-francoispqt-gojay
|
||
(package
|
||
(name "go-github-com-francoispqt-gojay")
|
||
(version "1.2.13")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/francoispqt/gojay")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1ix95qdyajfmxhf9y52vjrih63f181pjs4v5as8905s4d5vmkd06"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; XXX: Disable failing tests on non-x86-64 architecture, see
|
||
;; <https://github.com/francoispqt/gojay/issues/173>.
|
||
#:tests? (and (not (%current-target-system))
|
||
(target-x86-64?))
|
||
#:import-path "github.com/francoispqt/gojay"
|
||
#:test-flags
|
||
#~(list "-skip" (string-join
|
||
(list "TestMessage_Unmarshal"
|
||
"TestMessage_Marshal"
|
||
"TestGenerator_Generate")
|
||
"|"))
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'remove-examples-and-benchmarks
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(for-each delete-file-recursively
|
||
(list "benchmarks" "examples"))))))))
|
||
(native-inputs
|
||
(list go-github-com-go-errors-errors ; for CLI build
|
||
go-github-com-stretchr-testify
|
||
go-github-com-viant-assertly ; for CLI build
|
||
go-github-com-viant-toolbox)) ; for CLI build
|
||
(home-page "https://github.com/francoispqt/gojay")
|
||
(synopsis "JSON encoder/decoder with powerful stream API for Golang")
|
||
(description
|
||
"GoJay is a performant JSON encoder/decoder for Golang. It has a simple
|
||
API and doesn't use reflection. It relies on small interfaces to
|
||
decode/encode structures and slices.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-gaissmai-bart
|
||
(package
|
||
(name "go-github-com-gaissmai-bart")
|
||
(version "0.11.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gaissmai/bart")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1rnbmykmkl0c1fzz4vkv7q72l7hl2xpmalbm41f4lifdjscx5nk7"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/gaissmai/bart"))
|
||
(propagated-inputs
|
||
(list go-github-com-bits-and-blooms-bitset))
|
||
(home-page "https://github.com/gaissmai/bart")
|
||
(synopsis "Balanced Routing Table in Golang")
|
||
(description "This package provides a Balanced-Routing-Table (BART).")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-gatherstars-com-jwz
|
||
(package
|
||
(name "go-github-com-gatherstars-com-jwz")
|
||
(version "1.4.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gatherstars-com/jwz")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1d66axc3504wqpb4axlm8m9jq8rmwndxb4asbqwryymj3yh60cla"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list #:import-path "github.com/gatherstars-com/jwz"))
|
||
(propagated-inputs
|
||
(list go-github-com-rivo-tview
|
||
go-github-com-jhillyerd-enmime
|
||
go-github-com-gdamore-tcell-v2))
|
||
(home-page "https://github.com/gatherstars-com/jwz")
|
||
(synopsis "Email threading algorithm in Golang")
|
||
(description
|
||
"The jwz package provides an implementation of the email threading
|
||
algorithm originally designed for use in
|
||
@url{https://www.jwz.org/doc/threading.html,Netscape Mail 2.0 and 3.0} for
|
||
Golang.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-getkin-kin-openapi
|
||
(package
|
||
(name "go-github-com-getkin-kin-openapi")
|
||
(version "0.128.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/getkin/kin-openapi")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "162hxwqywpbmfybyj1m0s4a0nxx0qldx90k49d2mf52xps1jp5p2"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/getkin/kin-openapi"
|
||
#:test-flags
|
||
;; They try to access network.
|
||
#~(list "-skip" "TestIssue495WithDraft04|TestExtraSiblingsInRemoteRef")
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(delete 'build)))) ; no go files in project's root
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-go-openapi-jsonpointer
|
||
go-github-com-gorilla-mux
|
||
go-github-com-invopop-yaml
|
||
go-github-com-mohae-deepcopy
|
||
go-github-com-perimeterx-marshmallow
|
||
go-gopkg-in-yaml-v3))
|
||
(home-page "https://github.com/getkin/kin-openapi")
|
||
(synopsis "OpenAPI 3.0 and Swagger v2 implementation for Golang")
|
||
(description
|
||
"This package implements a functionality for parsing, converting and
|
||
validating
|
||
@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md,
|
||
OpenAPI v2.0},
|
||
@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md,
|
||
OpenAPI v3.0} and
|
||
@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md,
|
||
OpenAPI v3.1}.")
|
||
(license license:expat)))
|
||
|
||
;; TODO: This repository has been archived by the owner on Aug 30, 2023. It is
|
||
;; now read-only. The raven-go SDK is no longer maintained and was superseded
|
||
;; by the sentry-go
|
||
(define-public go-github-com-getsentry-raven-go
|
||
(let ((commit "5c24d5110e0e198d9ae16f1f3465366085001d92")
|
||
(revision "0"))
|
||
(package
|
||
(name "go-github-com-getsentry-raven-go")
|
||
(version (git-version "0.2.0" revision commit))
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/getsentry/raven-go")
|
||
(commit commit)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0lvc376sq8r8jhy2v1m6rf1wyld61pvbk0x6j9xpg56ivqy69xs7"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/getsentry/raven-go"))
|
||
(propagated-inputs
|
||
(list go-github-com-certifi-gocertifi go-github-com-pkg-errors))
|
||
(home-page "https://github.com/getsentry/raven-go")
|
||
(synopsis "Sentry client in Go")
|
||
(description "This package is a Go client API for the Sentry event/error
|
||
logging system.")
|
||
(license license:bsd-3))))
|
||
|
||
(define-public go-github-com-gin-contrib-sse
|
||
(package
|
||
(name "go-github-com-gin-contrib-sse")
|
||
(version "0.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gin-contrib/sse")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "072nq91a65n5xvwslqjyvydfd0mfpnvb3vwjyfvmzm1ym96wr1nd"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/gin-contrib/sse"))
|
||
(native-inputs (list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/gin-contrib/sse")
|
||
(synopsis "Server-Sent Events implementation in Golang")
|
||
(description
|
||
"@acronym{Server-sent events, SSE} is a technology where a browser
|
||
receives automatic updates from a server via HTTP connection. The SSE
|
||
@code{EventSource} API is
|
||
@url{http://www.w3.org/TR/2009/WD-eventsource-20091029/,standardized as part
|
||
of HTML5[1] by the W3C}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-gin-gonic-gin
|
||
(package
|
||
(name "go-github-com-gin-gonic-gin")
|
||
(version "1.10.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gin-gonic/gin")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "01xjvw2d46b77jnszgbwqbdzh9jx7y3h5ik3q30y9dn9gaq5mhks"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/gin-gonic/gin"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-bytedance-sonic
|
||
go-github-com-gin-contrib-sse
|
||
go-github-com-go-playground-validator-v10
|
||
go-github-com-goccy-go-json
|
||
go-github-com-json-iterator-go
|
||
go-github-com-mattn-go-isatty
|
||
go-github-com-pelletier-go-toml-v2
|
||
go-github-com-ugorji-go-codec
|
||
go-golang-org-x-net
|
||
go-google-golang-org-protobuf
|
||
go-gopkg-in-yaml-v3))
|
||
(home-page "https://github.com/gin-gonic/gin")
|
||
(synopsis "HTTP web framework")
|
||
(description
|
||
"This package provides a Golang web framework wit martini-like API.
|
||
|
||
Features:
|
||
@itemize
|
||
@item zero allocation router
|
||
@item middleware support
|
||
@item crash-free
|
||
@item JSON validation
|
||
@item routes grouping
|
||
@item error management
|
||
@item rendering built-in
|
||
@item extendable
|
||
@end itemize")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-go-chi-chi-v5
|
||
(package
|
||
(name "go-github-com-go-chi-chi-v5")
|
||
(version "5.0.7")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-chi/chi")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0rzrsxz4xj0973c6nxklvq2vmg2m795snhk25836i0gnd1jnx79k"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/go-chi/chi/v5"))
|
||
(home-page "https://github.com/go-chi/chi")
|
||
(synopsis "Composable router for HTTP services written in Go")
|
||
(description
|
||
"@code{go-github-com-go-chi-chi-v5} is an HTTP router that lets the user
|
||
decompose request handling into many smaller layers.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-go-http-utils-headers
|
||
(package
|
||
(name "go-github-com-go-http-utils-headers")
|
||
(version "0.0.0-20181008091004-fed159eddc2a")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-http-utils/headers")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "19h2sffi04hr56qxkag2baa17v91x4vp1a1zkm9rqr846xqwspvm"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/go-http-utils/headers"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/go-http-utils/headers")
|
||
(synopsis "HTTP header constants for Golang")
|
||
(description
|
||
"This package provides HTTP header constants.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-go-jose-go-jose-v3
|
||
(package
|
||
(name "go-github-com-go-jose-go-jose-v3")
|
||
(version "3.0.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-jose/go-jose")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0kbkplhzqv9ai28r4smhdsxxwh20d96srr3am37pwwnh48ivwch8"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Submodules with their own go.mod files and packaged separatly:
|
||
;;
|
||
;; - github.com/go-jose/go-jose/jose-util
|
||
(delete-file-recursively "jose-util")))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/go-jose/go-jose/v3"))
|
||
(native-inputs
|
||
(list go-github-com-google-go-cmp
|
||
go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-crypto))
|
||
(home-page "https://github.com/go-jose/go-jose")
|
||
(synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go")
|
||
(description
|
||
"This package provides a Golang implementation of the Javascript Object
|
||
Signing and Encryption set of standards. This includes support for JSON Web
|
||
Encryption, JSON Web Signature, and JSON Web Token standards.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-go-jose-go-jose-v4
|
||
(package
|
||
(inherit go-github-com-go-jose-go-jose-v3)
|
||
(name "go-github-com-go-jose-go-jose-v4")
|
||
(version "4.0.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-jose/go-jose")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1bf444687q5rdxjgk41bkryhzhx49f6600b7i51m572xdl0r28a9"))))
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/go-jose/go-jose/v4"))))
|
||
|
||
(define-public go-github-com-go-ldap-ldap-v3
|
||
(package
|
||
(name "go-github-com-go-ldap-ldap-v3")
|
||
(version "3.4.9")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-ldap/ldap")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0qcm4piyk7l5n3kplcism0y7zp40xcfmjl04hw1s276qqf7vi6hg"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/go-ldap/ldap/v3"
|
||
#:test-flags
|
||
#~(list "-skip" (string-join
|
||
(list "TestCompare"
|
||
"TestExtendedRequest_WhoAmI"
|
||
"TestExtendedRequest_FastBind"
|
||
"TestMatchDNError"
|
||
"TestMultiGoroutineSearch"
|
||
"TestSearch"
|
||
"TestSearchAsync"
|
||
"TestSearchAsyncAndCancel"
|
||
"TestSearchStartTLS"
|
||
"TestSearchWithPaging"
|
||
"TestSecureDialURL"
|
||
"TestStartTLS"
|
||
"TestTLSConnectionState"
|
||
"TestUnsecureDialURL")
|
||
"|"))))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-azure-go-ntlmssp
|
||
go-github-com-go-asn1-ber-asn1-ber
|
||
go-github-com-google-uuid
|
||
go-github-com-jcmturner-gokrb5-v8))
|
||
(home-page "https://github.com/go-ldap/ldap")
|
||
(synopsis "LDAP v3 functionality for Go")
|
||
(description "This package provides basic LDAP v3 functionality in the Go
|
||
language.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-go-openapi-analysis
|
||
(package
|
||
(name "go-github-com-go-openapi-analysis")
|
||
(version "0.23.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-openapi/analysis")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1i1sn6fzjv83y31b8lky0wh08xl8yj60y04jcidzcy5gmknavyfi"))
|
||
(snippet
|
||
#~(begin (use-modules (guix build utils))
|
||
;; Introduce cycle with go-github-com-go-openapi-loads.
|
||
(delete-file-recursively "analysis_test")))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:embed-files #~(list "jsonschema-draft-04\\.json" "schema\\.json")
|
||
#:import-path "github.com/go-openapi/analysis"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-before 'check 'disable-failing-tests
|
||
(lambda* (#:key tests? unpack-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" unpack-path)
|
||
(substitute* (find-files "." "\\_test.go$")
|
||
;; Tests requiring network access.
|
||
(("TestFlatten_RemoteAbsolute")
|
||
"OffTestFlatten_RemoteAbsolute")))))
|
||
(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))
|
||
(propagated-inputs
|
||
(list go-github-com-go-openapi-jsonpointer
|
||
go-github-com-go-openapi-spec
|
||
go-github-com-go-openapi-strfmt
|
||
go-github-com-go-openapi-swag))
|
||
(home-page "https://github.com/go-openapi/analysis")
|
||
(synopsis "OpenAPI specification object model analyzer")
|
||
(description
|
||
"This package provides a foundational library to analyze an
|
||
@acronym{OpenAPI Initiative,OAI} specification document for easier reasoning
|
||
about the content.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-go-openapi-errors
|
||
(package
|
||
(name "go-github-com-go-openapi-errors")
|
||
(version "0.22.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-openapi/errors")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0nikzvknkv0nqdy44dfi096lcvkjnpjfrpg1gqlkg5ffccvdnd9s"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/go-openapi/errors"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/go-openapi/errors")
|
||
(synopsis "OpenAPI toolkit common errors")
|
||
(description
|
||
"Shared errors and error interface used throughout the various libraries
|
||
found in the go-openapi toolkit.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-go-openapi-jsonpointer
|
||
(package
|
||
(name "go-github-com-go-openapi-jsonpointer")
|
||
(version "0.21.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-openapi/jsonpointer")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "17gb0ab2r61j4gqbpwgpz6cvf9jy91xwn11gkbg3b1rq797if7vc"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/go-openapi/jsonpointer"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-go-openapi-swag))
|
||
(home-page "https://github.com/go-openapi/jsonpointer")
|
||
(synopsis "JSON Pointer with structs")
|
||
(description
|
||
"This package provides an implementation of JSON Pointer, initially
|
||
prototyped in @url{https://github.com/xeipuuv/gojsonpointer}.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-go-openapi-jsonreference
|
||
(package
|
||
(name "go-github-com-go-openapi-jsonreference")
|
||
(version "0.21.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-openapi/jsonreference")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1121cnjjh07qdl4jdrd46kmdhx4dgsxn02rvsq5xzapl8gz5nhcn"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/go-openapi/jsonreference"))
|
||
(native-inputs (list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-go-openapi-jsonpointer
|
||
go-github-com-go-openapi-swag
|
||
go-github-com-puerkitobio-purell))
|
||
(home-page "https://github.com/go-openapi/jsonreference")
|
||
(synopsis "JSON Reference with structs")
|
||
(description
|
||
"This package provides an implementation of JSON Reference, initially
|
||
prototyped in @url{https://github.com/xeipuuv/gojsonreference}.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-go-openapi-loads
|
||
(package
|
||
(name "go-github-com-go-openapi-loads")
|
||
(version "0.22.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-openapi/loads")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0qlcpdlm4y4v9r2r533aqvrc86b67nj31gsz29x9ilr7smr5299d"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:embed-files #~(list "jsonschema-draft-04\\.json" "schema\\.json")
|
||
#:import-path "github.com/go-openapi/loads"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-go-openapi-analysis
|
||
go-github-com-go-openapi-spec
|
||
go-github-com-go-openapi-swag
|
||
go-gopkg-in-yaml-v3))
|
||
(home-page "https://github.com/go-openapi/loads")
|
||
(synopsis "Load OAI specification documents")
|
||
(description
|
||
"This package implements functionality of loading of @acronym{OpenAPI
|
||
Initiative,OAI} specification documents from local or remote locations.
|
||
Supports JSON and YAML documents.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-go-openapi-runtime
|
||
(package
|
||
(name "go-github-com-go-openapi-runtime")
|
||
(version "0.28.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-openapi/runtime")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0h8yqc6bb8mzb8jvr3m08fyws1gbrhbry6k5vj2cx2xdi50kqiy5"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:embed-files #~(list "jsonschema-draft-04\\.json" "schema\\.json")
|
||
#:import-path "github.com/go-openapi/runtime"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-docker-go-units
|
||
go-github-com-go-openapi-analysis
|
||
go-github-com-go-openapi-errors
|
||
go-github-com-go-openapi-loads
|
||
go-github-com-go-openapi-spec
|
||
go-github-com-go-openapi-strfmt
|
||
go-github-com-go-openapi-swag
|
||
go-github-com-go-openapi-validate
|
||
go-github-com-opentracing-opentracing-go
|
||
go-go-opentelemetry-io-otel
|
||
go-go-opentelemetry-io-otel-sdk
|
||
go-golang-org-x-sync
|
||
go-gopkg-in-yaml-v3))
|
||
(home-page "https://github.com/go-openapi/runtime")
|
||
(synopsis "OpenAPI runtime interfaces")
|
||
(description
|
||
"OpenAPI toolkit runtime component for use in code generation or as
|
||
untyped usage.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-go-openapi-spec
|
||
(package
|
||
(name "go-github-com-go-openapi-spec")
|
||
(version "0.21.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-openapi/spec")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "07qp7gakrjwznbxg1w5ww8j0ky407s9rmyyrpwv5rsp8yw6qimjc"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/go-openapi/spec"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-go-openapi-jsonpointer
|
||
go-github-com-go-openapi-jsonreference
|
||
go-github-com-go-openapi-swag
|
||
go-gopkg-in-yaml-v3))
|
||
(home-page "https://github.com/go-openapi/spec")
|
||
(synopsis "OpenAPI specification object model")
|
||
(description
|
||
"This package implements functionality to marshal and unmarshal
|
||
@url{https://swagger.io/,Swagger} API specifications into a Golang object
|
||
model.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-go-openapi-strfmt
|
||
(package
|
||
(name "go-github-com-go-openapi-strfmt")
|
||
(version "0.23.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-openapi/strfmt")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "00hqmfsgknhvp7mcbxfadpv4109f9gj59223yxhvmcviqg0a6a7b"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/go-openapi/strfmt"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-asaskevich-govalidator
|
||
go-github-com-go-openapi-errors
|
||
go-github-com-google-uuid
|
||
go-github-com-mitchellh-mapstructure
|
||
go-github-com-oklog-ulid
|
||
go-go-mongodb-org-mongo-driver))
|
||
(home-page "https://github.com/go-openapi/strfmt")
|
||
(synopsis "OpenAPI toolkit common string formats")
|
||
(description
|
||
"This package exposes a registry of data types to support string formats
|
||
in the @code{go-openapi} toolkit. @code{strfmt} represents a well known
|
||
string format such as credit card or email. The Go toolkit for OpenAPI
|
||
specifications knows how to deal with those.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-go-openapi-swag
|
||
(package
|
||
(name "go-github-com-go-openapi-swag")
|
||
(version "0.23.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-openapi/swag")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1c03mnmy162rrd1rzfqxiwnblvlwl4v09yklq55q4j9p4jqv740g"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/go-openapi/swag"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-mailru-easyjson go-gopkg-in-yaml-v3))
|
||
(home-page "https://github.com/go-openapi/swag")
|
||
(synopsis "Goodie bag in use in the go-openapi projects")
|
||
(description
|
||
"Contains a bunch of helper functions for go-openapi and go-swagger
|
||
projects.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-go-openapi-validate
|
||
(package
|
||
(name "go-github-com-go-openapi-validate")
|
||
(version "0.24.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-openapi/validate")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "04inl03ha8sqqn1ccslbsl68shzf53qqk4yi88kvis0qdhcpl9fk"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:embed-files #~(list "jsonschema-draft-04\\.json" "schema\\.json")
|
||
#:import-path "github.com/go-openapi/validate"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'remove-failing-tests
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
;; Tests requiring network access.
|
||
(for-each delete-file
|
||
(list "benchmark_test.go"
|
||
"example_validator_test.go"
|
||
"doc_test.go"))))))))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-davecgh-go-spew
|
||
go-github-com-go-openapi-analysis
|
||
go-github-com-go-openapi-errors
|
||
go-github-com-go-openapi-jsonpointer
|
||
go-github-com-go-openapi-loads
|
||
go-github-com-go-openapi-spec
|
||
go-github-com-go-openapi-strfmt
|
||
go-github-com-go-openapi-swag
|
||
go-gopkg-in-yaml-v3))
|
||
(home-page "https://github.com/go-openapi/validate")
|
||
(synopsis "OpenAPI toolkit validation helpers")
|
||
(description
|
||
"This package provides helpers to validate Swagger 2.0 specification (aka
|
||
OpenAPI 2.0).")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-go-webauthn-webauthn
|
||
(package
|
||
(name "go-github-com-go-webauthn-webauthn")
|
||
(version "0.10.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-webauthn/webauthn")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1jbx3cd8cr4aaqq9s1x4sd1rlcs3lmam5aavpl08s5rj18m7rivf"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:go go-1.22
|
||
#:import-path "github.com/go-webauthn/webauthn"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'remove-failing-tests
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(for-each delete-file
|
||
(list
|
||
;; It tryes to access outbound network:
|
||
;;
|
||
;; Get "https://mds.fidoalliance.org": dial tcp:
|
||
;; lookup mds.fidoalliance.org on [::1]:53: read udp
|
||
;; [::1]:52300->[::1]:53: read: connection refused
|
||
;;
|
||
;; Post "https://mds3.fido.tools/getEndpoints": dial
|
||
;; tcp: lookup mds3.fido.tools on [::1]:53: read udp
|
||
;; [::1]:46703->[::1]:53: read: connection refused
|
||
"metadata/metadata_test.go"
|
||
;; Get "https://mds.fidoalliance.org": dial tcp:
|
||
;; lookup mds.fidoalliance.org on [::1]:53: read udp
|
||
;; [::1]:37459->[::1]:53: read: connection refused
|
||
"protocol/attestation_androidkey_test.go"
|
||
"protocol/attestation_apple_test.go"
|
||
"protocol/attestation_packed_test.go"
|
||
"protocol/attestation_safetynet_test.go"
|
||
"protocol/attestation_test.go"
|
||
"protocol/attestation_tpm_test.go"
|
||
"protocol/attestation_u2f_test.go")))))
|
||
;; XXX: Run all tests, 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))
|
||
(propagated-inputs
|
||
(list go-github-com-fxamacker-cbor-v2
|
||
go-github-com-go-webauthn-x
|
||
go-github-com-golang-jwt-jwt-v5
|
||
go-github-com-google-go-tpm
|
||
go-github-com-google-uuid
|
||
go-github-com-mitchellh-mapstructure))
|
||
(home-page "https://github.com/go-webauthn/webauthn")
|
||
(synopsis "Webauthn/FIDO2 library for Golang")
|
||
(description
|
||
"This library is meant to handle @url{https://www.w3.org/TR/webauthn,Web
|
||
Authentication} for Go apps that wish to implement a passwordless solution for
|
||
users. This library conforms as much as possible to the guidelines and
|
||
implementation procedures outlined by the document. It's a successor of not
|
||
maintained https://github.com/duo-labs/webauthn library.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-go-webauthn-x
|
||
(package
|
||
(name "go-github-com-go-webauthn-x")
|
||
(version "0.1.12")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-webauthn/x")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1h2ylzzh5xismgkz0gar3k8lwdwqqc2np4z5gmi1b5chh6qwy1bs"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:tests? #f ; no tests
|
||
#:import-path "github.com/go-webauthn/x"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; Source only package.
|
||
(delete 'build))))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-crypto))
|
||
(home-page "https://github.com/go-webauthn/x")
|
||
(synopsis "Low level packages for WebAuthn")
|
||
(description
|
||
"This package implements a low level functionality for
|
||
@url{https://github.com/go-webauthn/webauthn,WebAuthn} library. It was forked
|
||
from CloudFlare's github.com/cloudflare/cfssl/revoke.")
|
||
(license (list
|
||
;; For the CloudFlare's part: revoke/LICENSE.
|
||
license:bsd-2
|
||
;; For the WebAuthn's fork: LICENSE.
|
||
license:bsd-3))))
|
||
|
||
(define-public go-github-com-gobwas-httphead
|
||
(package
|
||
(name "go-github-com-gobwas-httphead")
|
||
(version "0.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gobwas/httphead")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "106l8ml5yihld3rrf45q5fhlsx64hrpj2dsvnnm62av4ya5nf0gb"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/gobwas/httphead"))
|
||
(home-page "https://github.com/gobwas/httphead")
|
||
(synopsis "Tiny HTTP header value parsing library in Golang")
|
||
(description
|
||
"Package httphead contains utils for parsing HTTP and HTTP-grammar
|
||
compatible text protocols headers.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-gobwas-ws
|
||
(package
|
||
(name "go-github-com-gobwas-ws")
|
||
(version "1.4.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gobwas/ws")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1nqgb75cizx11igwjqx6b6mlzl7yxy6x683m9aaalgcx9n1qxan7"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/gobwas/ws"))
|
||
(propagated-inputs
|
||
(list go-github-com-gobwas-httphead
|
||
go-github-com-gobwas-pool))
|
||
(home-page "https://github.com/gobwas/ws")
|
||
(synopsis "Tiny WebSocket library for Golang")
|
||
(description
|
||
"Package ws implements a client and server for the @code{WebSocket}
|
||
protocol as specified in @url{https://rfc-editor.org/rfc/rfc6455.html, RFC
|
||
6455}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-goccy-go-json
|
||
(package
|
||
(name "go-github-com-goccy-go-json")
|
||
(version "0.10.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/goccy/go-json")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0w9kjplhyzq8n4iainddapzj7dxnfbjiz4xdpb0hlb6h35grpxgn"))
|
||
(modules '((guix build utils)))
|
||
(snippet '(delete-file-recursively "benchmarks"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/goccy/go-json"))
|
||
(home-page "https://github.com/goccy/go-json")
|
||
(synopsis "JSON encoder/decoder in Go")
|
||
(description
|
||
"Fast JSON encoder/decoder compatible with encoding/json for Go.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-gofiber-fiber-v2
|
||
(package
|
||
(name "go-github-com-gofiber-fiber-v2")
|
||
(version "2.52.5")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gofiber/fiber")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "12gr7a38dd02p7b9fimrk16ybxfp93krh7wah0jzc0v6syjmzfi0"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/gofiber/fiber/v2"
|
||
#:test-flags
|
||
#~(list "-skip"
|
||
(string-join
|
||
(list "Test_Proxy_DoRedirects_TooManyRedirects"
|
||
"Test_Proxy_Do_WithRealURL"
|
||
"Test_Proxy_DoRedirects_RestoreOriginalURL"
|
||
"Test_Proxy_Do_WithRedirect")
|
||
"|"))))
|
||
(propagated-inputs
|
||
(list go-github-com-google-uuid
|
||
go-github-com-mattn-go-colorable
|
||
go-github-com-mattn-go-isatty
|
||
go-github-com-mattn-go-runewidth
|
||
go-github-com-tinylib-msgp
|
||
go-github-com-valyala-bytebufferpool
|
||
go-github-com-valyala-fasthttp
|
||
go-golang-org-x-sys))
|
||
(home-page "https://github.com/gofiber/fiber")
|
||
(synopsis "Express inspired web framework written in Golang")
|
||
(description
|
||
"Package fiber is an @code{https://github.com/expressjs/express, Express}
|
||
inspired web framework built on top of Fasthttp, the fastest HTTP engine for
|
||
Go. Designed to ease things up for fast development with zero memory
|
||
allocation and performance in mind.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-gogo-protobuf
|
||
(package
|
||
(name "go-github-com-gogo-protobuf")
|
||
(version "1.3.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gogo/protobuf")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0dfv1bhx5zhb5bsj5sj757nkacf2swp1ajpcyj9d0b37n602m18a"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:skip-build? #t
|
||
#:import-path "github.com/gogo/protobuf"
|
||
;; protoc: exec: "protoc-min-version": executable file not found in $PATH
|
||
;; err = exec: "protoc": executable file not found in $PATH:
|
||
#:test-flags
|
||
#~(list "-skip"
|
||
(string-join
|
||
(list "TestDashFilename"
|
||
"TestEmbedMarshaler"
|
||
"TestGolden"
|
||
"TestParameters"
|
||
"TestPopulateWarning"
|
||
"TestRepeatedEmbed"
|
||
"TestStdTypesGoString"
|
||
"TestTakesTooLongToDebug")
|
||
"|"))))
|
||
(home-page "https://github.com/gogo/protobuf")
|
||
(synopsis "Protocol Buffers for Go with Gadgets")
|
||
(description "Gogoprotobuf is a fork of golang/protobuf with extra code
|
||
generation features. This code generation is used to achieve:
|
||
@itemize
|
||
@item fast marshalling and unmarshalling
|
||
@item more canonical Go structures
|
||
@item goprotobuf compatibility
|
||
@item less typing by optionally generating extra helper code
|
||
@item peace of mind by optionally generating test and benchmark code
|
||
@item other serialization formats
|
||
@end itemize")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-golang-groupcache
|
||
(package
|
||
(name "go-github-com-golang-groupcache")
|
||
(version "0.0.0-20210331224755-41bb18bfe9da")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/golang/groupcache")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "07amgr8ji4mnq91qbsw2jlcmw6hqiwdf4kzfdrj8c4b05w4knszc"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/golang/groupcache"))
|
||
(propagated-inputs
|
||
(list go-github-com-golang-protobuf))
|
||
(home-page "https://github.com/golang/groupcache")
|
||
(synopsis "Groupcache is a caching and cache-filling library")
|
||
(description
|
||
"Groupcache is a caching and cache-filling library, intended as a
|
||
replacement for memcached in many cases. It provides a data loading mechanism
|
||
with caching and de-duplication that works across a set of peer processes.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-google-go-github-v31
|
||
(package
|
||
(name "go-github-com-google-go-github-v31")
|
||
(version "31.0.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/google/go-github")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0bcybmr341hnp8k630pi4dcgia7561yzqc874l4c3nl4bc9rkh5j"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Submodules with their own go.mod files and packaged separately:
|
||
;;
|
||
;; - github.com/google/go-github/scrape
|
||
;; - github.com/google/go-github/update-urls
|
||
(delete-file-recursively "scrape")
|
||
(delete-file-recursively "update-urls")))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:skip-build? #t
|
||
#:import-path "github.com/google/go-github/v31"
|
||
;; repos_releases_test.go:449: Header.Get("Content-Type") returned
|
||
;; "application/octet-stream", want "text/plain; charset=utf-8"
|
||
#:test-flags #~(list "-skip" "TestRepositoriesService_UploadReleaseAsset")
|
||
#: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 "example")))))))
|
||
(propagated-inputs
|
||
(list go-github-com-google-go-querystring
|
||
go-golang-org-x-crypto
|
||
go-golang-org-x-oauth2
|
||
go-golang-org-x-sync))
|
||
(home-page "https://github.com/google/go-github/")
|
||
(synopsis "Client library for accessing the GitHub API v3")
|
||
(description "@code{go-github} is a Go client library for accessing the
|
||
GitHub API v3.")
|
||
(license license:bsd-3)))
|
||
|
||
;; For chezmoi-1.8.10
|
||
(define-public go-github-com-google-go-github-v33
|
||
(package
|
||
(inherit go-github-com-google-go-github-v31)
|
||
(name "go-github-com-google-go-github-v33")
|
||
(version "33.0.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/google/go-github")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1nzwgvaa9k1ky3sfynib6nhalam9dx66h5lxff334m9kk3rf5nn0"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Submodules with their own go.mod files and packaged separately:
|
||
;;
|
||
;; - github.com/google/go-github/scrape
|
||
(delete-file-recursively "scrape")
|
||
(delete-file-recursively "update-urls")))))
|
||
(arguments
|
||
(substitute-keyword-arguments
|
||
(package-arguments go-github-com-google-go-github-v31)
|
||
((#:import-path _) "github.com/google/go-github/v33")))))
|
||
|
||
(define-public go-github-com-google-go-github-v50
|
||
(package
|
||
(inherit go-github-com-google-go-github-v31)
|
||
(name "go-github-com-google-go-github-v50")
|
||
(version "50.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/google/go-github")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "11qzikm988zfzs6g70lbdjfhw7kdndagahg0q2bkn2ibq2c47xxp"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Submodules with their own go.mod files and packaged separately:
|
||
;;
|
||
;; - github.com/google/go-github/scrape
|
||
(delete-file-recursively "scrape")
|
||
(delete-file-recursively "update-urls")))))
|
||
(arguments
|
||
(substitute-keyword-arguments
|
||
(package-arguments go-github-com-google-go-github-v31)
|
||
((#:import-path _) "github.com/google/go-github/v50")))
|
||
(native-inputs
|
||
(list go-github-com-google-go-cmp))
|
||
(propagated-inputs
|
||
(list go-github-com-google-go-querystring
|
||
go-github-com-protonmail-go-crypto
|
||
go-golang-org-x-oauth2))))
|
||
|
||
(define-public go-github-com-google-go-querystring
|
||
(package
|
||
(name "go-github-com-google-go-querystring")
|
||
(version "1.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/google/go-querystring")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "15k460c23nsmqd1nx3mvrnazws8bpb1gafrmffx7vf91m200mnwa"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/google/go-querystring/query"
|
||
#:unpack-path "github.com/google/go-querystring"))
|
||
(native-inputs
|
||
(list go-github-com-google-go-cmp))
|
||
(home-page "https://github.com/google/go-querystring/")
|
||
(synopsis "Library for encoding structs into URL query parameters")
|
||
(description
|
||
"@code{go-querystring} is Go library for encoding structs into URL query
|
||
parameters.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-google-gopacket
|
||
(package
|
||
(name "go-github-com-google-gopacket")
|
||
(version "1.1.19")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/google/gopacket")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "048qwm2n0wrpql4qqgd7jyynn3gk069yvqbxnshlayzmbhf87ls4"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/google/gopacket"
|
||
;; XXX: pfring/pfring.go:14:10: fatal error: pfring.h: No such file or
|
||
;; directory. Check how to fix all tests.
|
||
#:test-subdirs #~(list ".")))
|
||
(propagated-inputs
|
||
(list go-github-com-vishvananda-netlink
|
||
go-golang-org-x-net
|
||
go-golang-org-x-sys))
|
||
(home-page "https://github.com/google/gopacket")
|
||
(synopsis "Packet processing capabilities library")
|
||
(description
|
||
"This package provides packet processing capabilities for Go.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-google-safehtml
|
||
(package
|
||
(name "go-github-com-google-safehtml")
|
||
(version "0.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/google/safehtml")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0j2xjy8xrk9y9k6bqpvimj84i6hg1wwsyvwsb0axhmp49cmnrp86"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/google/safehtml"))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-text))
|
||
(home-page "https://github.com/google/safehtml")
|
||
(synopsis "Safe HTML for Go")
|
||
(description
|
||
"Package safehtml provides immutable string-like types which represent
|
||
values that are guaranteed to be safe, by construction or by escaping or
|
||
sanitization, to use in various HTML contexts and with various DOM APIs.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-gorilla-context
|
||
(let ((commit "08b5f424b9271eedf6f9f0ce86cb9396ed337a42")
|
||
(revision "0"))
|
||
(package
|
||
(name "go-github-com-gorilla-context")
|
||
(version (git-version "0.0.0" revision commit))
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gorilla/context")
|
||
(commit commit)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/gorilla/context"))
|
||
(home-page "https://github.com/gorilla/context")
|
||
(synopsis "Go registry for request variables")
|
||
(description
|
||
"This package provides @code{gorilla/context}, which is a general
|
||
purpose registry for global request variables in the Go programming
|
||
language.")
|
||
(license license:bsd-3))))
|
||
|
||
(define-public go-github-com-gorilla-csrf
|
||
(package
|
||
(name "go-github-com-gorilla-csrf")
|
||
(version "1.7.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gorilla/csrf")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "01d56sr9yggn6gs4lf5bnj15q6bkwvsim8kzj8m4arv1ccj7918j"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/gorilla/csrf"))
|
||
(propagated-inputs
|
||
(list go-github-com-gorilla-securecookie
|
||
go-github-com-pkg-errors))
|
||
(home-page "https://github.com/gorilla/csrf")
|
||
(synopsis "Cross Site Request Forgery (CSRF) prevention middleware")
|
||
(description
|
||
"Gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention
|
||
middleware for Go web applications and services.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-gorilla-css
|
||
(package
|
||
(name "go-github-com-gorilla-css")
|
||
(version "1.0.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gorilla/css")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "116fhy3n7bsq3psyn4pa0i4x9zy916kh1zxslmbbp0p9l4i7ysrj"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
`(#:import-path "github.com/gorilla/css/scanner"
|
||
#:unpack-path "github.com/gorilla/css"))
|
||
(home-page "https://github.com/gorilla/css/")
|
||
(synopsis "CSS3 tokenizer")
|
||
(description "This package provides a CSS3 tokenizer.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-gorilla-handlers
|
||
(package
|
||
(name "go-github-com-gorilla-handlers")
|
||
(version "1.5.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gorilla/handlers")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "15gycdz9lkjnsvvichsbdf25vf6pi1sfn41khhz53iqf300l0w0s"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:tests? #f ; Tries to download from the internet
|
||
#:import-path "github.com/gorilla/handlers"))
|
||
(propagated-inputs
|
||
(list go-github-com-felixge-httpsnoop))
|
||
(home-page "https://github.com/gorilla/handlers")
|
||
(synopsis "Middleware for Go HTTP services and web applications")
|
||
(description "A collection of useful middleware for Go HTTP services and
|
||
web applications.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-gorilla-mux
|
||
(package
|
||
(name "go-github-com-gorilla-mux")
|
||
(version "1.8.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gorilla/mux")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "18f0q9qxgq1yh4ji07mqhiydfcwvi56z9d775v7dc7yckj33kpdk"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/gorilla/mux"))
|
||
(home-page "https://github.com/gorilla/mux")
|
||
(synopsis "URL router and dispatcher for Go")
|
||
(description
|
||
"Gorilla/Mux implements a request router and dispatcher for matching
|
||
incoming requests with their respective handler.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-gorilla-schema
|
||
(package
|
||
(name "go-github-com-gorilla-schema")
|
||
(version "1.4.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gorilla/schema")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "16gk174mybvz0gg2w1wmpc96jhhi94i1vvclyzr3qkv7s6gadifn"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/gorilla/schema"))
|
||
(home-page "https://github.com/gorilla/schema")
|
||
(synopsis "Fills a struct with form values")
|
||
(description
|
||
"This package implements a functionality to fills a struct with form
|
||
values.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-gorilla-securecookie
|
||
(package
|
||
(name "go-github-com-gorilla-securecookie")
|
||
(version "1.1.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gorilla/securecookie")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "16bqimpxs9vj5n59vm04y04v665l7jh0sddxn787pfafyxcmh410"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/gorilla/securecookie"))
|
||
(home-page "https://github.com/gorilla/securecookie")
|
||
(synopsis "Encodes and decodes authenticated and optionally encrypted
|
||
cookie values")
|
||
(description
|
||
"Gorilla/securecookie encodes and decodes authenticated and optionally
|
||
encrypted cookie values for Go web applications.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-gorilla-sessions
|
||
(package
|
||
(name "go-github-com-gorilla-sessions")
|
||
(version "1.2.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gorilla/sessions")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1zjw2s37yggk9231db0vmgs67z8m3am8i8l4gpgz6fvlbv52baxp"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/gorilla/sessions"))
|
||
(propagated-inputs
|
||
(list go-github-com-gorilla-securecookie))
|
||
(home-page "https://github.com/gorilla/sessions")
|
||
(synopsis "Manage user sessions in web applications")
|
||
(description
|
||
"This package that provides infrastructure for creating and managing user
|
||
sessions in web applications. It supports cookie and filesystem-based
|
||
sessions, flash messages, custom backends, and more.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-gorilla-websocket
|
||
(package
|
||
(name "go-github-com-gorilla-websocket")
|
||
(version "1.5.3")
|
||
(home-page "https://github.com/gorilla/websocket")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url home-page)
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1k84plbz6bxarbdrdcsrm9vhiy971prpvfnkcpsfv2q4ac80ccmx"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
`(#:import-path "github.com/gorilla/websocket"))
|
||
(synopsis "Fast WebSocket implementation for Go")
|
||
(description "Gorilla WebSocket is a Go implementation of the WebSocket
|
||
protocol.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-gregjones-httpcache
|
||
(package
|
||
(name "go-github-com-gregjones-httpcache")
|
||
(version "0.0.0-20190611155906-901d90724c79")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gregjones/httpcache")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "05r0xq51vfb55di11m7iv19341d73f7in33vq1ihcqs1nffdwiq0"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/gregjones/httpcache"))
|
||
(propagated-inputs
|
||
(list go-github-com-peterbourgon-diskv
|
||
go-github-com-syndtr-goleveldb
|
||
go-github-com-bradfitz-gomemcache
|
||
go-github-com-gomodule-redigo))
|
||
(home-page "https://github.com/gregjones/httpcache")
|
||
(synopsis "Transport for @code{http.Client} that will cache responses")
|
||
(description
|
||
"Package @code{httpcache} provides a @code{http.RoundTripper}
|
||
implementation that works as a mostly
|
||
@url{https://tools.ietf.org/html/rfc7234, RFC 7234} compliant cache for HTTP
|
||
responses. It is only suitable for use as a \"private\" cache (i.e. for a
|
||
web-browser or an API-client and not for a shared proxy).")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-hashicorp-go-cleanhttp
|
||
(package
|
||
(name "go-github-com-hashicorp-go-cleanhttp")
|
||
(version "0.5.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/hashicorp/go-cleanhttp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1i5xslizzwd966w81bz6dxjwzgml4q9bwqa186bsxd1vi8lqxl9p"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/hashicorp/go-cleanhttp"))
|
||
(home-page "https://github.com/hashicorp/go-cleanhttp")
|
||
(synopsis "Functions for accessing clean Go @code{http.Client} values")
|
||
(description
|
||
"The Go standard library contains a default @code{http.Client} and it is
|
||
a common idiom to tweak it as necessary. Unfortunately, this is a shared
|
||
value, and it is not uncommon for libraries to assume that they are free to
|
||
modify it at will. This package provides some simple functions to get a
|
||
\"clean\" @code{http.Client}, namely one that uses the same default values as
|
||
the Go standard library, but returns a client that does not share any state
|
||
with other clients.")
|
||
(license license:mpl2.0)))
|
||
|
||
(define-public go-github-com-hashicorp-go-retryablehttp
|
||
(package
|
||
(name "go-github-com-hashicorp-go-retryablehttp")
|
||
(version "0.7.7")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/hashicorp/go-retryablehttp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "11bqzz3244vpa91l5bx8pp5pajbcg4qxrl8ic2x0qgwbrjfz362x"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/hashicorp/go-retryablehttp"))
|
||
(propagated-inputs
|
||
(list go-github-com-hashicorp-go-hclog
|
||
go-github-com-hashicorp-go-cleanhttp))
|
||
(home-page "https://github.com/hashicorp/go-retryablehttp")
|
||
(synopsis "Retryable HTTP client in Golang")
|
||
(description
|
||
"Package retryablehttp provides a familiar HTTP client interface with
|
||
automatic retries and exponential backoff. It is a thin wrapper over the
|
||
standard @code{net/http} client library and exposes nearly the same public
|
||
API.")
|
||
(license license:mpl2.0)))
|
||
|
||
(define-public go-github-com-hashicorp-go-sockaddr
|
||
(package
|
||
(name "go-github-com-hashicorp-go-sockaddr")
|
||
(version "1.0.7")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/hashicorp/go-sockaddr")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1ajcffaqxrbqyg00b04a1ia7np0180x7z5q3bcxqxm0smqqag54z"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
(delete-file-recursively "cmd/sockaddr/vendor")))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/hashicorp/go-sockaddr"
|
||
#:test-flags
|
||
#~(list "-skip"
|
||
(string-join
|
||
;; Tests require network set-up or fail randomly.
|
||
(list "TestGetDefaultInterface"
|
||
"TestGetDefaultInterfaces"
|
||
"TestGetIfAddrs"
|
||
"TestGetPrivateIP"
|
||
"TestGetPrivateIPs"
|
||
"TestGetPrivateInterfaces"
|
||
"TestSockAddr_IPAddrs_IPAddrsByNetworkSize/0"
|
||
"TestSockAddr_Parse")
|
||
"|"))))
|
||
(propagated-inputs
|
||
(list go-github-com-hashicorp-errwrap
|
||
go-github-com-mitchellh-cli
|
||
go-github-com-mitchellh-go-wordwrap
|
||
go-github-com-ryanuber-columnize))
|
||
(home-page "https://github.com/hashicorp/go-sockaddr")
|
||
(synopsis "IP Address/UNIX Socket convenience functions for Golang")
|
||
(description
|
||
"This package provides an implementation of the UNIX socket family data
|
||
types and related helper functions.")
|
||
(license license:mpl2.0)))
|
||
|
||
(define-public go-github-com-hashicorp-yamux
|
||
(package
|
||
(name "go-github-com-hashicorp-yamux")
|
||
(version "0.1.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/hashicorp/yamux")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1c46zdj94lv28sb9rmhinzcckl72vs3gwm197nsa80ca3b161yi6"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/hashicorp/yamux"))
|
||
(home-page "https://github.com/hashicorp/yamux")
|
||
(synopsis "Golang connection multiplexing library")
|
||
(description
|
||
"Yamux (Yet another Multiplexer) relies on an underlying connection to
|
||
provide reliability and ordering, such as TCP or Unix domain sockets, and
|
||
provides stream-oriented multiplexing. It is inspired by SPDY but is not
|
||
interoperable with it.
|
||
|
||
Features:
|
||
@itemize
|
||
@item streams can be opened by either client or server
|
||
@item useful for nat traversal
|
||
@item server-side push support
|
||
@item avoid starvation
|
||
@item back-pressure to prevent overwhelming a receiver
|
||
@item enables persistent connections over a load balancer
|
||
@item enables thousands of logical streams with low overhead
|
||
@end itemize")
|
||
(license license:mpl2.0)))
|
||
|
||
(define-public go-github-com-hetznercloud-hcloud-go-v2
|
||
(package
|
||
(name "go-github-com-hetznercloud-hcloud-go-v2")
|
||
(version "2.17.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/hetznercloud/hcloud-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0rmrp100clcymz6j741dpvx217d6ljnfqn9qfndlmy9rwi64ih8h"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:skip-build? #t
|
||
#:import-path "github.com/hetznercloud/hcloud-go/v2"))
|
||
(native-inputs
|
||
(list go-github-com-google-go-cmp
|
||
go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-jmattheis-goverter
|
||
go-github-com-prometheus-client-golang
|
||
go-github-com-vburenin-ifacemaker
|
||
go-golang-org-x-crypto
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/hetznercloud/hcloud-go")
|
||
(synopsis "Golang library for the Hetzner Cloud API")
|
||
(description
|
||
"This package provides a library for the Hetzner Cloud API.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-hjson-hjson-go-v4
|
||
(package
|
||
(name "go-github-com-hjson-hjson-go-v4")
|
||
(version "4.4.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/hjson/hjson-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1d4b2hpqsnzbmfhgxq15hd19rjr5hydjmpblrh5yzfgx9z3cz2by"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/hjson/hjson-go/v4"))
|
||
(home-page "https://hjson.org/")
|
||
(synopsis "Human JSON implementation for Go")
|
||
(description
|
||
"Hjson is a syntax extension to JSON. It is intended to be used like a
|
||
user interface for humans, to read and edit before passing the JSON data to
|
||
the machine.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-huin-goupnp
|
||
(package
|
||
(name "go-github-com-huin-goupnp")
|
||
(version "1.3.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/huin/goupnp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "04j5rmrfawjxcimiqpyjm9gm5phdndjxrmydf9f1ylij6m360nwl"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Submodules with their own go.mod files and packed as separated
|
||
;; packages:
|
||
;;
|
||
;; - github.com/huin/goupnp/v2alpha
|
||
(for-each delete-file-recursively
|
||
(list "v2alpha"))))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/huin/goupnp"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; XXX: Run all tests, 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" "./..."))))))))
|
||
(home-page "https://github.com/huin/goupnp")
|
||
(propagated-inputs
|
||
(list go-golang-org-x-sync))
|
||
(synopsis "UPnP client library for Go")
|
||
(description
|
||
"@code{goupnp} is a @acronym{Universal Plug and Play, UPnP} client
|
||
library for Go.
|
||
|
||
Core components:
|
||
@itemize
|
||
@item @code{goupnp}: core library - contains datastructures and utilities
|
||
typically used by the implemented DCPs
|
||
@item @code{httpu}: HTTPU implementation, underlies SSDP
|
||
@item @code{ssdp}: SSDP client implementation (simple service discovery
|
||
protocol) - used to discover UPnP services on a network
|
||
@item @code{soap}: SOAP client implementation (simple object access protocol)
|
||
- used to communicate with discovered services
|
||
@end itemize")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-jackpal-gateway
|
||
(package
|
||
(name "go-github-com-jackpal-gateway")
|
||
(version "1.0.15")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jackpal/gateway")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0dlspnbdz63b3kpavibd2764hdy53mx1v3vrqi721dsjy77r9ig3"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/jackpal/gateway"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net))
|
||
(home-page "https://github.com/jackpal/gateway")
|
||
(synopsis "Discover the address of a LAN gateway")
|
||
(description
|
||
"@code{gateway} is a Go library for discovering the IP address of the
|
||
default LAN gateway.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-jackpal-go-nat-pmp
|
||
(package
|
||
(name "go-github-com-jackpal-go-nat-pmp")
|
||
(version "1.0.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jackpal/go-nat-pmp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1p2yrzfbkazc9nisr2iqjwzhb6q16zj6finyxxn2ikk7iiighl1g"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/jackpal/go-nat-pmp"))
|
||
(home-page "https://github.com/jackpal/go-nat-pmp")
|
||
(synopsis "Port mapping and discovery of external IP address")
|
||
(description
|
||
"This package provides a Go client for the NAT-PMP internet protocol for
|
||
port mapping and discovering the external IP address of a firewall.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-jaytaylor-html2text
|
||
(package
|
||
(name "go-github-com-jaytaylor-html2text")
|
||
(version "0.0.0-20230321000545-74c2419ad056")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jaytaylor/html2text")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "14r0ph8w4yxx129kfvj0qbx4cyid65md93qmwlz2cly4iwjnr7w2"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Module name has been changed upstream.
|
||
(substitute* (find-files "." "\\.go$")
|
||
(("jaytaylor.com/html2text") "github.com/jaytaylor/html2text"))))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list #:import-path "github.com/jaytaylor/html2text"))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net
|
||
go-github-com-olekukonko-tablewriter
|
||
go-github-com-ssor-bom))
|
||
(home-page "https://github.com/jaytaylor/html2text")
|
||
(synopsis "Convert HTML emails to text")
|
||
(description
|
||
"The html2text package converts HTML emails to plain text, allowing
|
||
text-only mail clients to display them.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-jcmturner-dnsutils-v2
|
||
(package
|
||
(name "go-github-com-jcmturner-dnsutils-v2")
|
||
(version "2.0.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jcmturner/dnsutils")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "116zbgvfj88vv93fnapmmgyd5g8kzy774cdyzsnnzyzng92j61c9"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/jcmturner/dnsutils/v2"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/jcmturner/dnsutils")
|
||
(synopsis "Go library with DNS utils")
|
||
(description
|
||
"The dnsutils package provides a Go function to return a map of Service
|
||
Records (SRV) in the order they should be used for a given service, protocol
|
||
and name. The order is determined by the records' priority and randomized
|
||
selection based on their relative weighting. This package is useful for
|
||
network applications that require accessing services using SRV records.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-jcmturner-goidentity-v6
|
||
(package
|
||
(name "go-github-com-jcmturner-goidentity-v6")
|
||
(version "6.0.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jcmturner/goidentity")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "064ysvxvrvij843s7qj1nkzl5qc6j1qbrsb3s0zmwd1sa7vq8q1n"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/jcmturner/goidentity/v6"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-hashicorp-go-uuid))
|
||
(home-page "https://github.com/jcmturner/goidentity")
|
||
(synopsis "Hold authenticated identities and their attributes")
|
||
(description "This package provides a standard interface for holding
|
||
authenticated identities and their attributes.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-jcmturner-gokrb5-v8
|
||
(package
|
||
(name "go-github-com-jcmturner-gokrb5-v8")
|
||
(version "8.4.4")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jcmturner/gokrb5")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1rv495j8j2x6avw5hqpf7rpiakr5gdsx6pv8rfn0ff7vi35zfa62"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/jcmturner/gokrb5/v8"
|
||
#:unpack-path "github.com/jcmturner/gokrb5"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-gorilla-sessions
|
||
go-github-com-hashicorp-go-uuid
|
||
go-github-com-jcmturner-aescts-v2
|
||
go-github-com-jcmturner-dnsutils-v2
|
||
go-github-com-jcmturner-gofork
|
||
go-github-com-jcmturner-goidentity-v6
|
||
go-github-com-jcmturner-rpc-v2
|
||
go-golang-org-x-crypto))
|
||
(home-page "https://github.com/jcmturner/gokrb5")
|
||
(synopsis "Pure Go Kerberos library for clients and services")
|
||
(description "This package provides a pure Go Kerberos library. It
|
||
features:
|
||
@itemize
|
||
@item Kerberos libraries for custom integration
|
||
@item Parsing Keytab files
|
||
@item Parsing krb5.conf files
|
||
@item Parsing client credentials cache files such as /tmp/krb5cc_$(id -u $(whoami))
|
||
@end itemize
|
||
|
||
On the client side, it provides a client that can authenticate to an SPNEGO
|
||
Kerberos authenticated web service, and the ability to change client's
|
||
password.
|
||
|
||
On the server side, the library provides a HTTP handler wrapper implements
|
||
SPNEGO Kerberos authentication, as well as a HTTP handler wrapper decodes
|
||
Microsoft AD PAC authorization data.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-jcmturner-rpc
|
||
(package
|
||
(name "go-github-com-jcmturner-rpc")
|
||
(version "1.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jcmturner/rpc")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0hkmvf8qdcifnzym8kv1xhq7lq0wpr0i6gzff159lh9xn0wfg175"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "gopkg.in/jcmturner/rpc.v1"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(delete 'build)))) ; no go files in project's root
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/jcmturner/rpc")
|
||
(synopsis "Remote Procedure Call libraries")
|
||
(description
|
||
"This package provides a partial Go implementation of the Remote Call
|
||
Procedure libraries, presented in
|
||
@@url{http://pubs.opengroup.org/onlinepubs/9629399/,CDE 1.1: Remote Procedure
|
||
Call}.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-jcmturner-rpc-v2
|
||
(package
|
||
(inherit go-github-com-jcmturner-rpc)
|
||
(name "go-github-com-jcmturner-rpc-v2")
|
||
(version "2.0.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jcmturner/rpc")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1nm4j2nwcszghldw39rwdx2hr56i1lybfpv33y4gd67w6qcqbpsi"))))
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/jcmturner/rpc/v2"
|
||
#:unpack-path "github.com/jcmturner/rpc"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(delete 'build)))) ; no go files in project's root
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net))))
|
||
|
||
(define-public go-github-com-jhillyerd-enmime
|
||
(package
|
||
(name "go-github-com-jhillyerd-enmime")
|
||
(version "1.3.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jhillyerd/enmime")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1mlgnk0y0d8njx7h66w6bhr95zh2ccg1hxlnm15i2lfh6l58s60q"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list #:import-path "github.com/jhillyerd/enmime"))
|
||
(native-inputs
|
||
(list go-github-com-go-test-deep
|
||
go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-cention-sany-utf7
|
||
go-github-com-gogs-chardet
|
||
go-github-com-jaytaylor-html2text
|
||
go-github-com-pkg-errors
|
||
go-golang-org-x-text))
|
||
(home-page "https://github.com/jhillyerd/enmime")
|
||
(synopsis "MIME encoder and decoder for Go")
|
||
(description
|
||
"The enmime package implements a MIME encoding and decoding library
|
||
geared towards parsing MIME encoded emails.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-jlaffaye-ftp
|
||
(package
|
||
(name "go-github-com-jlaffaye-ftp")
|
||
(version "0.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jlaffaye/ftp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0z9d1dxhx351158a22a08qbnfql7a1cajg6v3zm82m2rnp17ahir"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/jlaffaye/ftp"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-hashicorp-go-multierror))
|
||
(home-page "https://github.com/jlaffaye/ftp")
|
||
(synopsis "FTP client package for Go")
|
||
(description
|
||
"Package ftp implements a @acronym{File Transfer Protocol,FTP} client as
|
||
described in @url{https://www.rfc-editor.org/rfc/rfc959,RFC 959}.")
|
||
(license license:isc)))
|
||
|
||
(define-public go-github-com-jmespath-go-jmespath
|
||
(package
|
||
(name "go-github-com-jmespath-go-jmespath")
|
||
(version "0.4.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jmespath/go-jmespath")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "18zyr9nlywmwp3wpzcjxrgq9s9d2mmc6zg6xhsna00m663nkyc3n"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/jmespath/go-jmespath"))
|
||
(native-inputs
|
||
(list go-github-com-davecgh-go-spew
|
||
go-github-com-pmezard-go-difflib
|
||
go-github-com-stretchr-objx
|
||
go-gopkg-in-yaml-v2))
|
||
(home-page "https://github.com/jmespath/go-jmespath")
|
||
(synopsis "Golang implementation of JMESPath")
|
||
(description
|
||
"This package implements JMESPath, a query language for JSON. It
|
||
transforms one JSON document into another through a JMESPath expression.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-jsimonetti-rtnetlink
|
||
(package
|
||
(name "go-github-com-jsimonetti-rtnetlink")
|
||
(version "1.4.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jsimonetti/rtnetlink")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "19m8fcrcbw98gc191snfsi6qhb80jxnjhxzy8gppcwwg6732wmm1"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/jsimonetti/rtnetlink"))
|
||
(native-inputs
|
||
(list go-github-com-google-go-cmp))
|
||
(propagated-inputs
|
||
(list go-github-com-mdlayher-netlink go-golang-org-x-sys))
|
||
(home-page "https://github.com/jsimonetti/rtnetlink")
|
||
(synopsis "Low-level access to the Linux rtnetlink API")
|
||
(description
|
||
"This package allows the kernel's routing tables to be read and
|
||
altered. Network routes, IP addresses, Link parameters, Neighbor
|
||
setups,Queueing disciplines, Traffic classes and Packet classifiers may all be
|
||
controlled. It is based on netlink messages.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-jsimonetti-rtnetlink-v2
|
||
(package
|
||
(inherit go-github-com-jsimonetti-rtnetlink)
|
||
(name "go-github-com-jsimonetti-rtnetlink-v2")
|
||
(version "2.0.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jsimonetti/rtnetlink")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1lgx3kip6hiigahcnvjy7d1qqxbm2vnfh2m3zrpfkqkh03dl39x4"))))
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/jsimonetti/rtnetlink/v2"))))
|
||
|
||
(define-public go-github-com-json-iterator-go
|
||
(package
|
||
(name "go-github-com-json-iterator-go")
|
||
(version "1.1.12")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/json-iterator/go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1c8f0hxm18wivx31bs615x3vxs2j3ba0v6vxchsjhldc8kl311bz"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/json-iterator/go"
|
||
#:test-flags
|
||
;; XXX: Try to skip just "Test_symmetric/map[test.stringKeyType]string".
|
||
#~(list "-skip" "Test_symmetric")))
|
||
(native-inputs
|
||
(list go-github-com-davecgh-go-spew
|
||
go-github-com-google-gofuzz
|
||
go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-modern-go-concurrent
|
||
go-github-com-modern-go-reflect2))
|
||
(home-page "https://github.com/json-iterator/go")
|
||
(synopsis "High-performance replacement for Golang @code{encoding/json}")
|
||
(description
|
||
"This package implements encoding and decoding of JSON as defined in
|
||
@uref{https://rfc-editor.org/rfc/rfc4627.html,RFC 4627} and provides
|
||
interfaces with identical syntax of standard lib encoding/json. Converting
|
||
from encoding/json to jsoniter is no more than replacing the package with
|
||
jsoniter and variable type declarations (if any). jsoniter interfaces gives
|
||
100% compatibility with code using standard lib.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-julienschmidt-httprouter
|
||
(package
|
||
(name "go-github-com-julienschmidt-httprouter")
|
||
(version "1.3.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/julienschmidt/httprouter")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1a6sy0ysqknsjssjh7qg1dqn21xmj9a36c57nrk7srfmab4ffmk1"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/julienschmidt/httprouter"))
|
||
(home-page "https://github.com/julienschmidt/httprouter")
|
||
(synopsis "High performance HTTP request router")
|
||
(description
|
||
"Package @code{httprouter} is a trie based high performance HTTP request
|
||
router.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-kolo-xmlrpc
|
||
(package
|
||
(name "go-github-com-kolo-xmlrpc")
|
||
(version "0.0.0-20220921171641-a4b6fa1dd06b")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/kolo/xmlrpc")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0nhcnqycdc52k4ymdd4g2chcimsnvr86m0yx13ws91qxs5pgs9d2"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/kolo/xmlrpc"))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-text))
|
||
(home-page "https://github.com/kolo/xmlrpc")
|
||
(synopsis "Implementation of XMLRPC protocol in Golang")
|
||
(description
|
||
"This package provides an implementation of client side part of XMLRPC
|
||
protocol in Go language.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-koron-go-ssdp
|
||
(package
|
||
(name "go-github-com-koron-go-ssdp")
|
||
(version "0.0.4")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/koron/go-ssdp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0agzxzlwvnhgwk6sxswjq7v1ghmf0l02gr7zpdih24i3g457af4f"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/koron/go-ssdp"
|
||
#:test-flags
|
||
#~(list "-skip"
|
||
(string-join
|
||
;; Tests requiring network setup.
|
||
(list "TestAdvertise_Alive"
|
||
"TestAdvertise_Bye"
|
||
"TestAnnounceAlive"
|
||
"TestAnnounceBye"
|
||
"TestInterfaces"
|
||
"TestSearch_Request"
|
||
"TestSearch_Response"
|
||
"TestSearch_ServiceRawHeader")
|
||
"|"))))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net))
|
||
(home-page "https://github.com/koron/go-ssdp")
|
||
(synopsis "SSDP library for Golang")
|
||
(description
|
||
"@code{go-ssdp} is a @url{https://tools.ietf.org/html/draft-cai-ssdp-v1-03,
|
||
@acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-kortschak-wol
|
||
(package
|
||
(name "go-github-com-kortschak-wol")
|
||
(version "0.0.0-20200729010619-da482cc4850a")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/kortschak/wol")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "16qyy1c1q5cxcnwdzl69v49pjmyxha4i88fsg0g83gwdyapzsyln"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/kortschak/wol"))
|
||
(home-page "https://github.com/kortschak/wol")
|
||
(synopsis "Wake On LAN client")
|
||
(description
|
||
"Package wol provides a Wake On LAN function.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-labbsr0x-goh
|
||
(package
|
||
(name "go-github-com-labbsr0x-goh")
|
||
(version "1.0.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/labbsr0x/goh")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "06yrd6ih6r0rkxyn88b66gfarjxsqmi3wzi8cgsxskq7mbah0iyp"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:skip-build? #t
|
||
#:import-path "github.com/labbsr0x/goh"))
|
||
(propagated-inputs
|
||
(list go-github-com-go-cmd-cmd
|
||
go-github-com-go-errors-errors
|
||
go-github-com-sirupsen-logrus))
|
||
(home-page "https://github.com/labbsr0x/goh")
|
||
(synopsis "Utility library for writing web hooks")
|
||
(description
|
||
"This package provides an utility library for writing extremely simple
|
||
webhooks in Golang.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-labstack-echo-v4
|
||
(package
|
||
(name "go-github-com-labstack-echo-v4")
|
||
(version "4.13.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/labstack/echo")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1i4w36f1k17bykc24dzr2ng5zpsyysfg5bzfvlbrphxxzhsngxdy"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/labstack/echo/v4"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-labstack-gommon
|
||
go-github-com-valyala-fasttemplate
|
||
go-golang-org-x-crypto
|
||
go-golang-org-x-net
|
||
go-golang-org-x-time))
|
||
(home-page "https://echo.labstack.com/")
|
||
(synopsis "High performance, minimalist Go web framework")
|
||
(description
|
||
"Package echo implements a high performance, minimalist Go web framework.
|
||
Features:
|
||
@itemize
|
||
@item optimized HTTP router which smartly prioritize routes
|
||
@item build robust and scalable RESTful APIs
|
||
@item group APIs
|
||
@item extensible middleware framework
|
||
@item define middleware at root, group or route level
|
||
@item data binding for JSON, XML and form payload
|
||
@item handy functions to send variety of HTTP responses
|
||
@item centralized HTTP error handling
|
||
@item template rendering with any template engine
|
||
@item define your format for the logger
|
||
@item highly customizable
|
||
@item automatic TLS via Let’s Encrypt
|
||
@item HTTP/2 support
|
||
@end itemize")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-levigross-grequests
|
||
(package
|
||
(name "go-github-com-levigross-grequests")
|
||
(version "0.0.0-20231203190023-9c307ef1f48d")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/levigross/grequests")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "13r24vrcgfkps8r09crjlhsywpxs8bnnmlgn5qhbhqiqag754xdc"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:tests? #f ; most of them need network access
|
||
#:embed-files #~(list "children" "nodes" "text")
|
||
#:import-path "github.com/levigross/grequests"))
|
||
(propagated-inputs
|
||
(list go-github-com-google-go-querystring
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/levigross/grequests")
|
||
(synopsis "Requests library for Golang")
|
||
(description
|
||
"Package grequests implements a friendly API over Go's existing
|
||
@code{net/http} library.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-libdns-libdns
|
||
(package
|
||
(name "go-github-com-libdns-libdns")
|
||
(version "0.2.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libdns/libdns")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "00zx6yij1ac8mhswhsks1nchzgmhbzrsm9hr0faqbmx0vkip78j5"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/libdns/libdns"))
|
||
(native-inputs (list go-github-com-stretchr-testify))
|
||
(propagated-inputs (list go-golang-org-x-exp))
|
||
(home-page "https://github.com/libdns/libdns")
|
||
(synopsis "Universal DNS provider APIs for Go")
|
||
(description
|
||
"@code{libdns} is a collection of free-range DNS provider client
|
||
implementations. It defines the core interfaces that provider packages should
|
||
implement. They are small and idiomatic interfaces with well-defined semantics.
|
||
|
||
The interfaces include:
|
||
@itemize
|
||
@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordGetter, RecordGetter} to
|
||
list records.
|
||
@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordAppender,
|
||
RecordAppender} to append new records.
|
||
@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordSetter, RecordSetter} to
|
||
set (create or change existing) records.
|
||
@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordDeleter, RecordDeleter}
|
||
to delete records.
|
||
@end itemize")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-libp2p-go-cidranger
|
||
(package
|
||
(name "go-github-com-libp2p-go-cidranger")
|
||
(version "1.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libp2p/go-cidranger")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "05hzlk5hx7qna5znr3q1crr0qb7h8yrv1v96pj015dh0kbdkdaba"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; XXX: Check if the most of the tests may be enabled:
|
||
;; src/github.com/libp2p/go-cidranger/trie_test.go:557:8: cannot use
|
||
;; 4294967295 (untyped int constant) as int value in assignment
|
||
;; (overflows).
|
||
#:tests? (and (target-64bit?)
|
||
(not (%current-target-system)))
|
||
#:import-path "github.com/libp2p/go-cidranger"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-ipfs-go-detect-race))
|
||
(home-page "https://github.com/libp2p/go-cidranger")
|
||
(synopsis "Fast IP to CIDR lookup in Golang")
|
||
(description
|
||
"Fast IP to @url{https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing,
|
||
CIDR} block(s) lookup using trie in Golang, inspired by
|
||
@url{https://vincent.bernat.im/en/blog/2017-ipv4-route-lookup-linux, IPv4
|
||
route lookup Linux}. Possible use cases include detecting if a IP address is
|
||
from published cloud provider CIDR blocks (e.g. 52.95.110.1 is contained in
|
||
published AWS Route53 CIDR 52.95.110.0/24), IP routing rules, etc.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-libp2p-go-doh-resolver
|
||
(package
|
||
(name "go-github-com-libp2p-go-doh-resolver")
|
||
(version "0.4.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libp2p/go-doh-resolver")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0asni7f3gd65bjfqz99fqchz9y75cpgmfwkkhsbq0y2dydagw666"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/libp2p/go-doh-resolver"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-ipfs-go-log-v2
|
||
go-github-com-miekg-dns
|
||
go-github-com-multiformats-go-multiaddr-dns))
|
||
(home-page "https://github.com/libp2p/go-doh-resolver")
|
||
(synopsis "DNS over HTTPS resolver")
|
||
(description
|
||
"This package provides an implementation DNS over HTTPS resolver as
|
||
specified in @url{https://datatracker.ietf.org/doc/html/rfc8484, RFC 8484}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-libp2p-go-flow-metrics
|
||
(package
|
||
(name "go-github-com-libp2p-go-flow-metrics")
|
||
(version "0.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libp2p/go-flow-metrics")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "13yb68vrcn2zdi0mjjh17dphfxl6y99bkq0ia53hasyfj6l6626h"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
;; XXX: Tests may hang sometimes, see
|
||
;; <https://github.com/libp2p/go-flow-metrics/issues/30>.
|
||
(list
|
||
#:import-path "github.com/libp2p/go-flow-metrics"))
|
||
(propagated-inputs
|
||
(list go-github-com-benbjohnson-clock))
|
||
(home-page "https://github.com/libp2p/go-flow-metrics")
|
||
(synopsis "Simple library for tracking flow metrics")
|
||
(description
|
||
"A simple alternative to rcrowley's @command{go-metrics} that's a lot
|
||
faster (and only does simple bandwidth metrics).")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-libp2p-go-libp2p-asn-util
|
||
(package
|
||
(name "go-github-com-libp2p-go-libp2p-asn-util")
|
||
(version "0.4.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libp2p/go-libp2p-asn-util")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1c94sq43bl1kp04lllcfrfyiy5z3zcfz0s65sm1vgb2s40zrwpr7"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/libp2p/go-libp2p-asn-util"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-exp))
|
||
(home-page "https://github.com/libp2p/go-libp2p-asn-util")
|
||
(synopsis "Golang library for IP to ASN mapping")
|
||
(description
|
||
"@code{go-libp2p-asn-util} is a Golang library to lookup the
|
||
@acronym{ASN, Autonomous System Number} for an IP address. It uses the IPv6
|
||
to ASN database downloaded from https://iptoasn.com/. Supports only IPv6
|
||
addresses for now.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-libp2p-go-nat
|
||
(package
|
||
(name "go-github-com-libp2p-go-nat")
|
||
(version "0.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libp2p/go-nat")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1yyb3knxvfr7fi759nh7mhh88ap1jpkb7nky7niqrh75737phgh0"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/libp2p/go-nat"))
|
||
(propagated-inputs
|
||
(list go-github-com-huin-goupnp
|
||
go-github-com-jackpal-go-nat-pmp
|
||
go-github-com-koron-go-ssdp
|
||
go-github-com-libp2p-go-netroute))
|
||
(home-page "https://github.com/libp2p/go-nat")
|
||
(synopsis "NAT port mapping library for Golang")
|
||
(description
|
||
"Package @code{go-nat} implements NAT handling facilities.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-libp2p-go-netroute
|
||
(package
|
||
(name "go-github-com-libp2p-go-netroute")
|
||
(version "0.2.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libp2p/go-netroute")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "06p68j63fd5nf2gf1fz2pnksmdmv735swpbpvnhb15vrgg3r528g"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/libp2p/go-netroute"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'disable-failing-tests
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(substitute* (find-files "." "\\_test.go$")
|
||
;; Test requiring network access: no route found for 8.8.8.8
|
||
(("TestRoute") "OffTestRoute"))))))))
|
||
(propagated-inputs
|
||
(list go-github-com-google-gopacket
|
||
go-golang-org-x-net
|
||
go-golang-org-x-sys))
|
||
(home-page "https://github.com/libp2p/go-netroute")
|
||
(synopsis "Routing table abstraction library for Golang")
|
||
(description
|
||
"@code{go-netroute} provides an implementation of the
|
||
@url{https://godoc.org/github.com/google/gopacket/routing#Router,
|
||
gopacket/routing.Router} interface for Golang.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-libp2p-go-reuseport
|
||
(package
|
||
(name "go-github-com-libp2p-go-reuseport")
|
||
(version "0.4.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libp2p/go-reuseport")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "012kgriw1bchf0apk6ff4y34n9mffbh0cmi15348v9vj3h4w3sa5"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/libp2p/go-reuseport"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-google-gopacket
|
||
go-golang-org-x-net
|
||
go-golang-org-x-sys))
|
||
(home-page "https://github.com/libp2p/go-reuseport")
|
||
(synopsis "Reuse TCP/UDP ports in Golang")
|
||
(description
|
||
"@code{go-reuseport} enables listening and dialing from the same TCP or
|
||
UDP port. This means that @code{SO_REUSEADDR} and @code{SO_REUSEPORT} socket
|
||
options may be set. This is particularly important when attempting to do TCP
|
||
NAT hole-punching, which requires a process to both @code{Listen} and
|
||
@code{Dial} on the same TCP port. @code{go-reuseport} provides some utilities
|
||
around enabling this behaviour on various operating systems.")
|
||
(license license:isc)))
|
||
|
||
(define-public go-github-com-libp2p-go-socket-activation
|
||
(package
|
||
(name "go-github-com-libp2p-go-socket-activation")
|
||
(version "0.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libp2p/go-socket-activation")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1cqxzmjfg7838xifs07kigys9icardwlj1wl426mzgzmbwn6pg5s"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/libp2p/go-socket-activation"))
|
||
(propagated-inputs
|
||
(list go-github-com-coreos-go-systemd-v22
|
||
go-github-com-ipfs-go-log
|
||
go-github-com-multiformats-go-multiaddr))
|
||
(home-page "https://github.com/libp2p/go-socket-activation")
|
||
(synopsis "Multiaddr backed systemd socket activation")
|
||
(description
|
||
"This package provides access to sockets registered by the system's init
|
||
daemon as described in
|
||
@url{http://0pointer.de/blog/projects/socket-activation}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-libp2p-go-yamux-v4
|
||
(package
|
||
(name "go-github-com-libp2p-go-yamux-v4")
|
||
(version "4.0.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libp2p/go-yamux")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "13px8fcjjp02cricabbf3x410jkr8sb6r369nqq1zrgr7v90s22j"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/libp2p/go-yamux/v4"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-libp2p-go-buffer-pool))
|
||
(home-page "https://github.com/libp2p/go-yamux")
|
||
(synopsis "Reuse TCP/UDP ports in Golang")
|
||
(description
|
||
"Yamux (Yet another Multiplexer) is a multiplexing library for Golang.
|
||
It relies on an underlying connection to provide reliability and ordering,
|
||
such as TCP or Unix domain sockets, and provides stream-oriented multiplexing.
|
||
It is inspired by SPDY but is not interoperable with it.")
|
||
(license (list license:mpl2.0 license:bsd-3))))
|
||
|
||
(define-public go-github-com-libp2p-zeroconf-v2
|
||
(package
|
||
(name "go-github-com-libp2p-zeroconf-v2")
|
||
(version "2.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libp2p/zeroconf")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0xrqdi7s8296963zh7gz450ivbniar7723xlr8v9nh90cyy1ah3r"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:tests? #f ; it requires netwok setup
|
||
#:import-path "github.com/libp2p/zeroconf/v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-miekg-dns go-golang-org-x-net))
|
||
(home-page "https://github.com/libp2p/zeroconf")
|
||
(synopsis "mDNS/DNS-SD Service Discovery in pure Golang")
|
||
(description
|
||
"This package implements a service discovery functionality specified in
|
||
@url{https://tools.ietf.org/html/rfc6762, RFC 6762} (mDNS) and
|
||
@url{https://tools.ietf.org/html/rfc6763, RFC 6763} (DNS-SD) standards which
|
||
intends to be compatible with Avahi.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-macronut-go-tproxy
|
||
(package
|
||
(name "go-github-com-macronut-go-tproxy")
|
||
(version "0.0.0-20190726054950-ef7efd7f24ed")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/FutureProtocolLab/go-tproxy")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0jibsg0xhsn0h1jq4g9qd4nr58w43y8majlwfri9ffk2cbfrwqdr"))
|
||
(modules '((guix build utils)))
|
||
(snippet '(delete-file-recursively "example"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/macronut/go-tproxy"))
|
||
(home-page "https://github.com/FutureProtocolLab/go-tproxy")
|
||
(synopsis "Linux Transparent Proxy library")
|
||
(description
|
||
"Golang TProxy provides an easy to use wrapper for the Linux Transparent
|
||
Proxy functionality.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-mailru-easyjson
|
||
(package
|
||
(name "go-github-com-mailru-easyjson")
|
||
(version "0.9.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mailru/easyjson")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "00if9lpfy7bz853snqp7zgg76pn4mgpkk42h0riahcwk5v19jrcv"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mailru/easyjson"
|
||
;; XXX: All tests in "tests" directory fail, figure out why.
|
||
#:test-subdirs #~(list ".")
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'remove-benchmarks
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(delete-file-recursively "benchmark")))))))
|
||
(propagated-inputs
|
||
(list go-github-com-josharian-intern))
|
||
(home-page "https://github.com/mailru/easyjson")
|
||
(synopsis "JSON serializer for Golang")
|
||
(description
|
||
"Package @code{easyjson} implements functionality to marshal/unmarshal
|
||
Golang structs to/from JSON without the use of reflection. It also aims to
|
||
keep generated Go code simple enough so that it can be easily optimized or
|
||
fixed.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-makeworld-the-better-one-go-gemini
|
||
(package
|
||
(name "go-github-com-makeworld-the-better-one-go-gemini")
|
||
(version "0.13.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/makew0rld/go-gemini")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "196rxfg7w8s3zn87gra1mxh1l8iav6kdmg909gkbnc9cxip65zc0"))))
|
||
(build-system go-build-system)
|
||
(propagated-inputs
|
||
(list go-github-com-google-go-cmp
|
||
go-golang-org-x-net
|
||
go-golang-org-x-text))
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/makeworld-the-better-one/go-gemini"))
|
||
(home-page "https://github.com/makew0rld/go-gemini")
|
||
(synopsis "Client/server library for the Gemini protocol, in Go")
|
||
(description
|
||
"@code{go-gemini} is a library that provides an easy interface to create
|
||
clients that speak the Gemini protocol.")
|
||
(license license:isc)))
|
||
|
||
(define-public go-github-com-makeworld-the-better-one-go-gemini-socks5
|
||
(package
|
||
(name "go-github-com-makeworld-the-better-one-go-gemini-socks5")
|
||
(version "1.0.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/makew0rld/go-gemini-socks5")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0r8iljs12nhyn3nk5dzsji9hi88fivashbrcb5d42x5rvzry15px"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/makeworld-the-better-one/go-gemini-socks5"))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net))
|
||
(home-page "https://github.com/makeworld-the-better-one/go-gemini-socks5")
|
||
(synopsis "SOCKS5 proxy for go-gemini")
|
||
(description
|
||
"This package provides SOCKS5 proxy for
|
||
@@url{https://github.com/makeworld-the-better-one/go-gemini,go-gemini}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-marten-seemann-tcp
|
||
(package
|
||
(name "go-github-com-marten-seemann-tcp")
|
||
(version "0.0.0-20210406111302-dfbc87cc63fd")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/marten-seemann/tcp")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0l03l7vx5j641bsgqzlcdshmsi7m1x0yny8i81hx5c5fbg5c25zx"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/marten-seemann/tcp"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'disable-failing-tests
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(substitute* (find-files "." "_test\\.go$")
|
||
;; couldn't initialize from a wrapped conn: unknown
|
||
;; connection type
|
||
(("TestWrappedConn") "OffTestWrappedConn")
|
||
;; Get "https://golang.org/robots.txt": dial tcp: lookup
|
||
;; golang.org on [::1]:53: read udp [::1]:56806->[::1]:53:
|
||
;; read: connection refused
|
||
(("TestInfo") "OffTestInfo"))))))))
|
||
(native-inputs
|
||
(list go-golang-org-x-net))
|
||
(propagated-inputs
|
||
(list go-github-com-mikioh-tcp))
|
||
(home-page "https://github.com/marten-seemann/tcp")
|
||
(synopsis "TCP-level socket options implementation in Golang")
|
||
(description
|
||
"This package provides a TCP-level socket options that allow manipulation
|
||
of TCP connection facilities.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-mattbaird-jsonpatch
|
||
(package
|
||
(name "go-github-com-mattbaird-jsonpatch")
|
||
(version "0.0.0-20240118010651-0ba75a80ca38")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mattbaird/jsonpatch")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1nxbrpk8bvvmfgl4sfsbx82g0q44i2sakl7vigbsj3prx6nql5iv"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mattbaird/jsonpatch"))
|
||
(native-inputs
|
||
(list go-github-com-evanphx-json-patch go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/mattbaird/jsonpatch")
|
||
(synopsis "JSON Patch library for Go")
|
||
(description
|
||
"@url{http://jsonpatch.com/, JSON Patch} implementation for Go as
|
||
specified in @url{https://datatracker.ietf.org/doc/html/rfc6902/, RFC 6902}
|
||
from the IETF.
|
||
|
||
JSON Patch allows you to generate JSON that describes changes you want to make
|
||
to a document, so you don't have to send the whole doc. JSON Patch format is
|
||
supported by HTTP PATCH method, allowing for standards based partial updates
|
||
via REST APIs.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-mattn-go-xmlrpc
|
||
(package
|
||
(name "go-github-com-mattn-go-xmlrpc")
|
||
(version "0.0.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mattn/go-xmlrpc")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0hv843qf8lzyn01mgk4lwwhirzpzpz33a1cz2ws998shhvq75dvg"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mattn/go-xmlrpc"))
|
||
(home-page "https://github.com/mattn/go-xmlrpc")
|
||
(synopsis "XML RPC interface for Golang")
|
||
(description
|
||
"This package implements XML RPC interface for Go programming
|
||
language.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-mdlayher-ethtool
|
||
(package
|
||
(name "go-github-com-mdlayher-ethtool")
|
||
(version "0.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mdlayher/ethtool")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1pwm4cg1yf364k0c4i0jrrvgn82k14b163xcvnm3bvpglfbcy2ks"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mdlayher/ethtool"))
|
||
(native-inputs
|
||
(list go-github-com-google-go-cmp))
|
||
(propagated-inputs
|
||
(list go-github-com-josharian-native
|
||
go-github-com-mdlayher-genetlink
|
||
go-github-com-mdlayher-netlink
|
||
go-golang-org-x-sys))
|
||
(home-page "https://github.com/mdlayher/ethtool")
|
||
(synopsis "Control of the Linux ethtool generic netlink interface")
|
||
(description
|
||
"Package ethtool allows control of the Linux ethtool generic netlink
|
||
interface. as it's described in
|
||
@url{https://www.kernel.org/doc/html/latest/networking/ethtool-netlink.html,
|
||
ethtool-netlink}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-mdlayher-genetlink
|
||
(package
|
||
(name "go-github-com-mdlayher-genetlink")
|
||
(version "1.3.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mdlayher/genetlink")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0vppn8071nh8pnbyq9769j1zcgq76iadd5fry90xkmfq429if356"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mdlayher/genetlink"))
|
||
(native-inputs
|
||
(list go-github-com-google-go-cmp))
|
||
(propagated-inputs
|
||
(list go-github-com-mdlayher-netlink
|
||
go-golang-org-x-net
|
||
go-golang-org-x-sys))
|
||
(home-page "https://github.com/mdlayher/genetlink")
|
||
(synopsis "Generic netlink interactions and data types")
|
||
(description
|
||
"Package genetlink implements generic netlink interactions and data
|
||
types.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-mdlayher-netlink
|
||
(package
|
||
(name "go-github-com-mdlayher-netlink")
|
||
(version "1.7.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mdlayher/netlink")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1pxd0qn73jr9n64gkp2kd8q8x7xgssm3v8a68vkh88al55g8jkma"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Cycles with go-github-com-jsimonetti-rtnetlink.
|
||
(delete-file-recursively "internal/integration")))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mdlayher/netlink"
|
||
#:test-flags
|
||
;; Test fails to start command "ip": exec: "ip": executable file not
|
||
;; found in $PATH
|
||
#~(list "-skip" "TestIntegrationConnSetBuffersSyscallConn")))
|
||
(propagated-inputs
|
||
(list go-github-com-google-go-cmp
|
||
go-github-com-josharian-native
|
||
go-github-com-mdlayher-socket
|
||
go-golang-org-x-net
|
||
go-golang-org-x-sys))
|
||
(home-page "https://github.com/mdlayher/netlink")
|
||
(synopsis "Low-level access to Linux netlink sockets")
|
||
(description
|
||
"This package provides a low-level access to Linux netlink
|
||
sockets (AF_NETLINK).")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-mdlayher-socket
|
||
(package
|
||
(name "go-github-com-mdlayher-socket")
|
||
(version "0.5.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mdlayher/socket")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1bq6sphsffjqqk2v9wy8qkv5yf0r6d72pklapgy3znqlnpgvnqab"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mdlayher/socket"))
|
||
(native-inputs
|
||
(list go-github-com-google-go-cmp))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net go-golang-org-x-sync go-golang-org-x-sys))
|
||
(home-page "https://github.com/mdlayher/socket")
|
||
(synopsis "Low-level network connection type with async I/O and deadline support")
|
||
(description
|
||
"This package provides a low-level network connection type which
|
||
integrates with Go's runtime network poller to provide asynchronous I/O and
|
||
deadline support.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-mdlayher-vsock
|
||
(package
|
||
(name "go-github-com-mdlayher-vsock")
|
||
(version "1.2.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mdlayher/vsock")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1pnhxz9jz25469gnd5p9a8jl10w3affcjxlvzhlni2c434s3l6kx"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mdlayher/vsock"))
|
||
(native-inputs
|
||
(list go-github-com-google-go-cmp))
|
||
(propagated-inputs
|
||
(list go-github-com-mdlayher-socket
|
||
go-golang-org-x-net
|
||
go-golang-org-x-sync
|
||
go-golang-org-x-sys))
|
||
(home-page "https://github.com/mdlayher/vsock")
|
||
(synopsis "Access to Linux VM sockets for Golang")
|
||
(description
|
||
"Package vsock provides access to Linux VM sockets (AF_VSOCK) for
|
||
communication between a hypervisor and its virtual machines.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-mdlayher-wifi
|
||
(package
|
||
(name "go-github-com-mdlayher-wifi")
|
||
(version "0.3.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mdlayher/wifi")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "18h5n58gr3i4jbf7c4hfvx3w87bjjiaavcnpcl0j310bgrc6dnzi"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mdlayher/wifi"))
|
||
(native-inputs
|
||
(list go-github-com-google-go-cmp))
|
||
(propagated-inputs
|
||
(list go-github-com-mdlayher-genetlink
|
||
go-github-com-mdlayher-netlink
|
||
go-golang-org-x-crypto
|
||
go-golang-org-x-sys))
|
||
(home-page "https://github.com/mdlayher/wifi")
|
||
(synopsis "Access to IEEE 802.11 WiFi device actions")
|
||
(description
|
||
"Package wifi provides access to IEEE 802.11 @code{WiFi} device
|
||
operations on Linux using nl80211.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-mholt-acmez
|
||
(package
|
||
(name "go-github-com-mholt-acmez")
|
||
(version "2.0.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mholt/acmez")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0xfl6p8izgjs1d26iygfilmmagxld409qsgdy60r1chfsrcnraby"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mholt/acmez"))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-crypto
|
||
go-golang-org-x-net
|
||
go-go-uber-org-zap))
|
||
(home-page "https://github.com/mholt/acmez")
|
||
(synopsis "ACME (RFC 8555) client library for Go")
|
||
(description
|
||
"@code{ACMEz} is a lightweight, fully-compliant
|
||
@url{https://tools.ietf.org/html/rfc8555, RFC 8555} (ACME) implementation, that
|
||
provides an API for getting certificates. @code{ACMEz} is suitable for large-scale
|
||
enterprise deployments. It also supports common IETF-standardized ACME extensions.
|
||
|
||
This module has two primary packages:
|
||
@itemize
|
||
@item @code{acmez} is a high-level wrapper for getting certificates. It implements
|
||
the ACME order flow described in RFC 8555 including challenge solving using pluggable
|
||
solvers.
|
||
@item @code{acme} is a low-level RFC 8555 implementation that provides the
|
||
fundamental ACME operations, mainly useful if you have advanced or niche
|
||
requirements.
|
||
@end itemize
|
||
|
||
Main features:
|
||
@itemize
|
||
@item Go API that thoroughly documented with spec citations.
|
||
@item Structured error values (@samp{problems} as defined in
|
||
@url{https://tools.ietf.org/html/rfc7807, RFC 7807}.)
|
||
@item Smart retries (resilient against network and server hiccups.)
|
||
@item Challenge plasticity (randomized challenges, and will retry others if one
|
||
fails.)
|
||
@item Context cancellation (suitable for high-frequency config changes or reloads.)
|
||
@item Highly flexible and customizable.
|
||
@item External Account Binding (EAB) support.
|
||
@item Tested with numerous ACME CAs (more than just Let's Encrypt.)
|
||
@item Implements niche aspects of RFC 8555 (such as alt cert chains and account key
|
||
rollover.)
|
||
@item Efficient solving of large SAN lists (e.g. for slow DNS record propagation.)
|
||
@item Utility functions for solving challenges: device attestation
|
||
challenges (draft-acme-device-attest-02), @url{https://tools.ietf.org/html/rfc8737,
|
||
RFC 8737} (tls-alpn-01 challenge), @url{https://tools.ietf.org/html/rfc8823, RFC
|
||
8823} (email-reply-00 challenge; S/MIME.)
|
||
@item ACME Renewal Information (ARI) support (draft-ietf-acme-ari-03.)
|
||
@end itemize")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-microcosm-cc-bluemonday
|
||
(package
|
||
(name "go-github-com-microcosm-cc-bluemonday")
|
||
(version "1.0.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/microcosm-cc/bluemonday")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "071ph097c1iwbcc33x6kblj9rxb1r4mp3qfkrj4qw5mg7qcqxydk"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
`(#:import-path "github.com/microcosm-cc/bluemonday"))
|
||
(propagated-inputs
|
||
(list go-github-com-chris-ramon-douceur
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/microcosm-cc/bluemonday/")
|
||
(synopsis "HTML sanitizer")
|
||
(description "@code{bluemonday} is a HTML sanitizer implemented in Go.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-miekg-dns
|
||
(package
|
||
(name "go-github-com-miekg-dns")
|
||
(version "1.1.62")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/miekg/dns")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0wdsacp4ay6ji72vnszq6ksn5n060z2hv94wgjsn0pr7gpa3nk6c"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/miekg/dns"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'disable-failing-tests
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(substitute* (find-files "." "\\_test.go$")
|
||
;; Unable to run test server.
|
||
(("TestIsPacketConn") "OffTestIsPacketConn"))))))))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-tools
|
||
go-golang-org-x-sys
|
||
go-golang-org-x-sync
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/miekg/dns")
|
||
(synopsis "Domain Name Service library in Go")
|
||
(description
|
||
"This package provides a fully featured interface to the @acronym{DNS,
|
||
Domain Name System}. Both server and client side programming is supported.
|
||
The package allows complete control over what is sent out to the @acronym{DNS,
|
||
Domain Name Service}. The API follows the less-is-more principle, by
|
||
presenting a small interface.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-mikioh-tcp
|
||
(package
|
||
(name "go-github-com-mikioh-tcp")
|
||
(version "0.0.0-20190314235350-803a9b46060c")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mikioh/tcp")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0mwldbqkl6j4lzxar5pnvi946w0iifmw43rmanbwzp7ngx27fz5a"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mikioh/tcp"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'disable-failing-tests
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(substitute* (find-files "." "_test\\.go$")
|
||
;; Get "https://golang.org/robots.txt": dial tcp: lookup
|
||
;; golang.org on [::1]:53: read udp [::1]:47181->[::1]:53:
|
||
;; read: connection refused.
|
||
(("TestInfo") "OffTestInfo"))))))))
|
||
(native-inputs
|
||
(list go-golang-org-x-net))
|
||
(propagated-inputs
|
||
(list go-github-com-mikioh-tcpinfo))
|
||
(home-page "https://github.com/mikioh/tcp")
|
||
(synopsis "TCP-level socket options implementation in Golang")
|
||
(description
|
||
"This package implements a TCP-level socket options that allow
|
||
manipulation of TCP connection facilities.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-mikioh-tcpinfo
|
||
(package
|
||
(name "go-github-com-mikioh-tcpinfo")
|
||
(version "0.0.0-20190314235526-30a79bb1804b")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mikioh/tcpinfo")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "053dwvlawhhm7ly2vhjziqdifnqp12dav6rsbxbcivjjzyzw987f"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mikioh/tcpinfo"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; It inroduce cycle with go-github-com-mikioh-tcp.
|
||
(add-after 'unpack 'remove-examples
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(delete-file "example_test.go")))))))
|
||
(propagated-inputs
|
||
(list go-github-com-mikioh-tcpopt))
|
||
(home-page "https://github.com/mikioh/tcpinfo")
|
||
(synopsis "Encoding and decoding of TCP-level socket options")
|
||
(description
|
||
"This package implements an encoding and decoding of TCP-level socket
|
||
options regarding connection information.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-mikioh-tcpopt
|
||
(package
|
||
(name "go-github-com-mikioh-tcpopt")
|
||
(version "0.0.0-20190314235656-172688c1accc")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mikioh/tcpopt")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1qdr0vmriy0wf6zg7hpq75g3b4nvp2p4gsc6xqvqg298v42zbrqj"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/mikioh/tcpopt"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; It inroduce cycle with go-github-com-mikioh-tcp.
|
||
(add-after 'unpack 'remove-examples
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(delete-file "example_test.go")))))))
|
||
(home-page "https://github.com/mikioh/tcpopt")
|
||
(synopsis "Encoding and decoding of TCP-level socket options in Golang")
|
||
(description
|
||
"This package implements an encoding and decoding of TCP-level socket
|
||
options.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-multiformats-go-multiaddr
|
||
(package
|
||
(name "go-github-com-multiformats-go-multiaddr")
|
||
(version "0.13.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/multiformats/go-multiaddr")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0029zjhndbisfsc2msd2h18pcw23rqvf40drkcf7nxic3y2vaff7"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/multiformats/go-multiaddr"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-ipfs-go-cid
|
||
go-github-com-multiformats-go-multibase
|
||
go-github-com-multiformats-go-varint
|
||
go-github-com-multiformats-go-multihash
|
||
go-golang-org-x-exp))
|
||
(home-page "https://github.com/multiformats/go-multiaddr")
|
||
(synopsis "Composable and future-proof network addresses")
|
||
(description
|
||
"Multiaddr is a standard way to represent addresses that does the
|
||
following:
|
||
|
||
@itemize
|
||
@item Support any standard network protocols.
|
||
@item Self-describe (include protocols).
|
||
@item Have a binary packed format.
|
||
@item Have a nice string representation.
|
||
@item Encapsulate well.
|
||
@end itemize")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-multiformats-go-multiaddr-dns
|
||
(package
|
||
(name "go-github-com-multiformats-go-multiaddr-dns")
|
||
(version "0.3.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/multiformats/go-multiaddr-dns")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "17qpcgxlmji6wdnjabl5ihc4zn69w2g0karad46zj70y5zg4y24r"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/multiformats/go-multiaddr-dns"
|
||
#:unpack-path "github.com/multiformats/go-multiaddr-dns"))
|
||
(propagated-inputs
|
||
(list go-github-com-miekg-dns
|
||
go-github-com-multiformats-go-multiaddr))
|
||
(home-page "https://multiformats.io/multiaddr/")
|
||
(synopsis "Library and CLI tool for DNS multiaddr resolution")
|
||
(description
|
||
"Go library for /dns4, /dns6, /dnsaddr multiaddr resolution.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-multiformats-go-multiaddr-fmt
|
||
(package
|
||
(name "go-github-com-multiformats-go-multiaddr-fmt")
|
||
(version "0.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/multiformats/go-multiaddr-fmt")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "119qqrnhzcb9im428alssv2dz9rrj74hy0asd10bnfv2d5fd09nm"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/multiformats/go-multiaddr-fmt"))
|
||
(propagated-inputs
|
||
(list go-github-com-multiformats-go-multiaddr))
|
||
(home-page "https://github.com/multiformats/go-multiaddr-fmt")
|
||
(synopsis "Declarative validator for multiaddrs")
|
||
(description
|
||
"This package provides a validation checker for multiaddrs. Some basic
|
||
validators for common address types are provided, but creating your own
|
||
combinations is easy.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-multiformats-go-multistream
|
||
(package
|
||
(name "go-github-com-multiformats-go-multistream")
|
||
(version "0.5.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/multiformats/go-multistream")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1mlcz16ii090vq6brm02dmmkj8akkafa55kyvkrrwpq6zvj1hy23"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/multiformats/go-multistream"))
|
||
(propagated-inputs
|
||
(list go-github-com-multiformats-go-varint))
|
||
(home-page "https://github.com/multiformats/go-multistream")
|
||
(synopsis "Implementation of the multistream protocol in Golang")
|
||
(description
|
||
"Package multistream implements a simple stream router for the
|
||
multistream-select protocol. The protocol is defined at
|
||
@url{https://github.com/multiformats/multistream-select}")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-munnerz-goautoneg
|
||
(package
|
||
(name "go-github-com-munnerz-goautoneg")
|
||
(version "0.0.0-20191010083416-a7dc8b61c822")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/munnerz/goautoneg")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1m4v6bw6yf1g0kvpc46isjp0qfhx2y8gnvlnyjf637jy64613mgg"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/munnerz/goautoneg"))
|
||
(home-page "https://github.com/munnerz/goautoneg")
|
||
(synopsis "HTTP Content-Type Autonegotiation")
|
||
(description
|
||
"This package implements @url{https://rfc-editor.org/rfc/rfc2616.html,RFC
|
||
2616} HTTP/1.1 standard.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-nrdcg-goinwx
|
||
(package
|
||
(name "go-github-com-nrdcg-goinwx")
|
||
(version "0.10.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/nrdcg/goinwx")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1ld3spdi7q8cf4hf0wnbl7gyw2k8n4wp03fqncjx2gw2nsjng684"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/nrdcg/goinwx"))
|
||
(propagated-inputs
|
||
(list
|
||
go-github-com-fatih-structs
|
||
go-github-com-kolo-xmlrpc
|
||
go-github-com-mitchellh-mapstructure))
|
||
(home-page "https://github.com/nrdcg/goinwx")
|
||
(synopsis "INWX Go API client")
|
||
(description
|
||
"This go library implements some parts of the official
|
||
@url{https://www.inwx.com/en/help/apidoc, INWX XML-RPC API}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-nwidger-jsoncolor
|
||
(package
|
||
(name "go-github-com-nwidger-jsoncolor")
|
||
(version "0.3.0")
|
||
(home-page "https://github.com/nwidger/jsoncolor")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url home-page)
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "13rd146pnj7qm70r1333gyd1f61x40nafxlpvdxlci9h7mx8c5p8"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
`(#:import-path "github.com/nwidger/jsoncolor"))
|
||
(native-inputs
|
||
(list go-github-com-fatih-color))
|
||
(synopsis "Colorized JSON marshalling and encoding")
|
||
(description
|
||
"@code{jsoncolor} is a drop-in replacement for @code{encoding/json}'s
|
||
@code{Marshal} and @code{MarshalIndent} functions and @code{Encoder} type
|
||
which produce colorized output using github.com/fatih/color.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-nytimes-gziphandler
|
||
(package
|
||
(name "go-github-com-nytimes-gziphandler")
|
||
(version "1.1.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/nytimes/gziphandler")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0rhrjlw220hnymzfccm0yir3pc9dpj7h3gwzhzq2cbsb3hhsqvyy"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/NYTimes/gziphandler"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/NYTimes/gziphandler")
|
||
(synopsis "Middleware to gzip HTTP responses")
|
||
(description
|
||
"This is a tiny Go package which wraps HTTP handlers to transparently
|
||
gzip the response body, for clients which support it.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-opentracing-contrib-go-stdlib
|
||
(package
|
||
(name "go-github-com-opentracing-contrib-go-stdlib")
|
||
(version "1.0.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/opentracing-contrib/go-stdlib")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1ssnfhbpljxy2v3nsw9aqmh7xlky49dpfwj275aj0b576w46ys6m"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/opentracing-contrib/go-stdlib"
|
||
#: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" "./..."))))))))
|
||
(propagated-inputs
|
||
(list go-github-com-opentracing-opentracing-go))
|
||
(home-page "https://github.com/opentracing-contrib/go-stdlib")
|
||
(synopsis "OpenTracing instrumentation for packages in the Golang stdlib")
|
||
(description
|
||
"This package provides an OpenTracing instrumentation for @code{net/http}
|
||
standard library.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-opentracing-opentracing-go
|
||
(package
|
||
(name "go-github-com-opentracing-opentracing-go")
|
||
(version "1.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri
|
||
(git-reference
|
||
(url "https://github.com/opentracing/opentracing-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "04rgdwl29kimp2wnm4dycnzp7941hvpj6wym85x23c6fclacm94h"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
`(#:import-path "github.com/opentracing/opentracing-go"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/opentracing/opentracing-go")
|
||
(synopsis "OpenTracing API for Go")
|
||
(description "OpenTracing-Go is a Go implementation of the OpenTracing API.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-oschwald-geoip2-golang
|
||
(package
|
||
(name "go-github-com-oschwald-geoip2-golang")
|
||
(version "1.11.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/oschwald/geoip2-golang")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0670cv1b9c2p0lx63rlwl7kplbvzr79apbw13109v0pv4qlapmhx"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:tests? #f ; Requires some unpackaged software and test data
|
||
#:import-path "github.com/oschwald/geoip2-golang"))
|
||
(propagated-inputs
|
||
(list go-github-com-oschwald-maxminddb-golang))
|
||
(home-page "https://github.com/oschwald/geoip2-golang")
|
||
(synopsis "MaxMind GeoIP2 reader")
|
||
(description
|
||
"This package provides a library for reading MaxMind GeoLite2 and GeoIP2
|
||
databases in Go.")
|
||
(license license:isc)))
|
||
|
||
(define-public go-github-com-oschwald-maxminddb-golang
|
||
(package
|
||
(name "go-github-com-oschwald-maxminddb-golang")
|
||
(version "1.13.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/oschwald/maxminddb-golang")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1p0c10r6850znvarc9h3y0jlwika9qmq0ys7rmg2aj8x2cffz3z6"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/oschwald/maxminddb-golang"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; XXX: Remove most of the tests requiring test-data from submodule
|
||
;; <https://github.com/maxmind/MaxMind-DB>, there is a documented
|
||
;; process on how to generate it, consider to pack and activate
|
||
;; tests in the next update cycle.
|
||
(add-after 'unpack 'remove-failing-tests
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(for-each delete-file
|
||
(list "decoder_test.go"
|
||
"deserializer_test.go"
|
||
"example_test.go"
|
||
"reader_test.go"
|
||
"traverse_test.go"
|
||
"verifier_test.go"))))))))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-sys))
|
||
(home-page "https://github.com/oschwald/maxminddb-golang")
|
||
(synopsis "MaxMind DB Reader for Go")
|
||
(description
|
||
"This is a Go reader for the MaxMind DB format. Although this can be
|
||
used to read GeoLite2 and GeoIP2 databases, @code{geoip2} provides a
|
||
higher-level API for doing so.")
|
||
(license license:isc)))
|
||
|
||
(define-public go-github-com-pascaldekloe-goe
|
||
(package
|
||
(name "go-github-com-pascaldekloe-goe")
|
||
(version "0.1.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pascaldekloe/goe")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1mszfjcc29b6nvw3hs8w33iy6zx6ih5v2jlard0dsrgkpvsx5c81"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pascaldekloe/goe"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; XXX: Replace when go-build-system supports nested path.
|
||
(delete 'build)
|
||
(replace 'check
|
||
(lambda* (#:key import-path tests? #:allow-other-keys)
|
||
(when tests?
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(invoke "go" "test" "-v" "./..."))))))))
|
||
(home-page "https://github.com/pascaldekloe/goe")
|
||
(synopsis "Enterprise tooling for Golang")
|
||
(description
|
||
"Common enterprise features for the Go programming language.")
|
||
(license license:cc0)))
|
||
|
||
(define-public go-github-com-perimeterx-marshmallow
|
||
(package
|
||
(name "go-github-com-perimeterx-marshmallow")
|
||
(version "1.1.5")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/PerimeterX/marshmallow")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0jxpjfyshcbrmj9qmj3sr21va6kw7hs55w2gaz9118jd861s6mbw"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/perimeterx/marshmallow"))
|
||
(native-inputs
|
||
(list go-github-com-go-test-deep))
|
||
(propagated-inputs
|
||
(list go-github-com-mailru-easyjson
|
||
go-github-com-ugorji-go-codec))
|
||
(home-page "https://github.com/perimeterx/marshmallow")
|
||
(synopsis "JSON unmarshalling in Golang")
|
||
(description
|
||
"This package provides a simple API to perform JSON unmarshalling.
|
||
It supports unmarshalling of some known and some unknown fields with zero
|
||
performance overhead. While unmarshalling, it allows fully retaining the
|
||
original data and access it via a typed struct and a dynamic map.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-datachannel
|
||
(package
|
||
(name "go-github-com-pion-datachannel")
|
||
(version "1.5.8")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/datachannel")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0v2xwrzvflrh1s8x6p1dj9h0hmxsp30h8whbl5p544r30rvsbnp2"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/datachannel"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-logging
|
||
go-github-com-pion-sctp
|
||
go-github-com-pion-transport-v3))
|
||
(home-page "https://github.com/pion/datachannel")
|
||
(synopsis "Implementation of WebRTC Data Channels in Golang")
|
||
(description
|
||
"This package implements @code{WebRTC} Data Channels.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-dtls
|
||
(package
|
||
(name "go-github-com-pion-dtls")
|
||
(version "1.5.4")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/dtls")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0qc5dbgh31lilbd1lpmajj1fjzy4jx9iadzqgl9jd1ry9fj3ly1d"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; XXX: TestClientCertificate: Client failed(x509: certificate relies on
|
||
;; legacy Common Name field, use SANs instead)
|
||
#:tests? #f
|
||
#:import-path "github.com/pion/dtls"))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-logging
|
||
go-github-com-pion-transport
|
||
go-golang-org-x-crypto))
|
||
(home-page "https://github.com/pion/dtls")
|
||
(synopsis "DTLS 1.2 Server/Client implementation for Go")
|
||
(description
|
||
"This package provides a native
|
||
@url{https://datatracker.ietf.org/doc/html/rfc6347, DTLS 1.2} implementation
|
||
in Golang.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-dtls-v2
|
||
(package
|
||
(inherit go-github-com-pion-dtls)
|
||
(name "go-github-com-pion-dtls-v2")
|
||
(version "2.2.12")
|
||
(source
|
||
(origin
|
||
(inherit (package-source go-github-com-pion-dtls))
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/dtls")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0fihyk4p7mqilj4ymdrgns6fg3c2pfsi12v145im5vy1gxy6lc42"))))
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/dtls/v2"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-logging
|
||
go-github-com-pion-transport-v2
|
||
go-golang-org-x-crypto
|
||
go-golang-org-x-net))))
|
||
|
||
(define-public go-github-com-pion-dtls-v3
|
||
(package
|
||
(inherit go-github-com-pion-dtls-v2)
|
||
(name "go-github-com-pion-dtls-v3")
|
||
(version "3.0.2")
|
||
(source
|
||
(origin
|
||
(inherit (package-source go-github-com-pion-dtls))
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/dtls")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0czn0v2i9czq6934sirbimgkn6avgzvw63ifm2b0bkh2qmmpim01"))))
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/dtls/v3"))
|
||
(native-inputs
|
||
(modify-inputs (package-native-inputs go-github-com-pion-dtls-v2)
|
||
(delete go-github-com-stretchr-testify)))
|
||
(propagated-inputs
|
||
(modify-inputs (package-propagated-inputs go-github-com-pion-dtls-v2)
|
||
(replace "go-github-com-pion-transport-v2"
|
||
go-github-com-pion-transport-v3)))))
|
||
|
||
(define-public go-github-com-pion-ice
|
||
(package
|
||
(name "go-github-com-pion-ice")
|
||
(version "0.7.18")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/ice/")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "17108z4fkr9b2fxf5icxspgif29a40gi57bhp9a50mlfr36yv9vk"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; Source-only package
|
||
#:tests? #f
|
||
#:import-path "https://github.com/pion/ice"
|
||
#:phases
|
||
;; Failed to build and only requried for inheritance:
|
||
;;
|
||
;; cannot use a.net (type *vnet.Net) as type transport.Net in field value:
|
||
;; *vnet.Net does not implement transport.Net (wrong type for CreateDialer method)
|
||
;; have CreateDialer(*net.Dialer) vnet.Dialer
|
||
;; want CreateDialer(*net.Dialer) transport.Dialer
|
||
#~(modify-phases %standard-phases
|
||
(delete 'build))))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-google-uuid
|
||
go-github-com-pion-dtls-v2
|
||
go-github-com-pion-logging
|
||
go-github-com-pion-mdns
|
||
go-github-com-pion-randutil
|
||
go-github-com-pion-stun
|
||
go-github-com-pion-transport
|
||
go-github-com-pion-turn-v2
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/pion/ice/")
|
||
(synopsis "Go implementation of ICE")
|
||
(description
|
||
"This package provides an implementation of @acronym{ICE, Interactive
|
||
Connectivity Establishment protocol}, specified in
|
||
@url{https://datatracker.ietf.org/doc/html/rfc8445, RFC8445}. It is used as a
|
||
part of @url{https://github.com/pion, Pion} WebRTC implementation.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-ice-v2
|
||
(package
|
||
(inherit go-github-com-pion-ice)
|
||
(name "go-github-com-pion-ice-v2")
|
||
(version "2.3.34")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/ice/")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1hiiwd3xchlybbvgd33s0i7rcwgrdiw3q963avzziycimia0qyvz"))))
|
||
(arguments
|
||
(list
|
||
#:tests? #f ;Tests require network access.
|
||
#:import-path "github.com/pion/ice/v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-google-uuid
|
||
go-github-com-pion-dtls-v2
|
||
go-github-com-pion-logging
|
||
go-github-com-pion-mdns
|
||
go-github-com-pion-randutil
|
||
go-github-com-pion-stun
|
||
go-github-com-pion-transport-v2
|
||
go-github-com-pion-turn-v2
|
||
go-golang-org-x-net))))
|
||
|
||
(define-public go-github-com-pion-ice-v3
|
||
(package
|
||
(inherit go-github-com-pion-ice)
|
||
(name "go-github-com-pion-ice-v3")
|
||
(version "3.0.7")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/ice/")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0f9jy80law69zb26rkb6kl6w1c66vdghdrmifhwlmzngb644ihdb"))))
|
||
(arguments
|
||
(list
|
||
#:tests? #f ;Tests require network access.
|
||
#:import-path "github.com/pion/ice/v3"))
|
||
(propagated-inputs
|
||
(list go-github-com-google-uuid
|
||
go-github-com-pion-dtls-v2
|
||
go-github-com-pion-logging
|
||
go-github-com-pion-mdns-v2
|
||
go-github-com-pion-randutil
|
||
go-github-com-pion-stun-v2
|
||
go-github-com-pion-transport-v3
|
||
go-github-com-pion-turn-v3
|
||
go-golang-org-x-net))))
|
||
|
||
(define-public go-github-com-pion-interceptor
|
||
(package
|
||
(name "go-github-com-pion-interceptor")
|
||
(version "0.1.30")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/interceptor")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1b0mmrzb9m9xsskylambdcw3g9xfd1fdfagcw8k0l8886ckqjprr"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/interceptor"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-logging
|
||
go-github-com-pion-rtcp
|
||
go-github-com-pion-rtp
|
||
go-github-com-pion-transport-v3))
|
||
(home-page "https://github.com/pion/interceptor")
|
||
(synopsis "Pluggable RTP/RTCP processors for building real time communication")
|
||
(description
|
||
"Interceptor is a framework for building RTP/RTCP communication software.
|
||
This framework defines a interface that each interceptor must satisfy. These
|
||
interceptors are then run sequentially.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-mdns
|
||
(package
|
||
(name "go-github-com-pion-mdns")
|
||
(version "0.0.12")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/mdns/")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "18nz0vddxik3q11mn4z65zvrfhspxv0xymxv9w3kgk2kszwq2byy"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; Tests are implemented in GitHub Actions and require aditional
|
||
;; packaging, see
|
||
;; <https://github.com/pion/.goassets/blob/master/.github/workflows/test.reusable.yml>.
|
||
#:tests? #f
|
||
#:unpack-path "github.com/pion/mdns"
|
||
#:import-path "github.com/pion/mdns"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-logging
|
||
go-github-com-pion-transport-v3
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/pion/mdns/")
|
||
(synopsis "Pure Go implementation of Multicast DNS")
|
||
(description
|
||
"This package implements a mDNS (multicast DNS) used by
|
||
@url{https://github.com/pion, Pion}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-mdns-v2
|
||
(package
|
||
(inherit go-github-com-pion-mdns)
|
||
(name "go-github-com-pion-mdns-v2")
|
||
(version "2.0.7")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/mdns/")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "03675hx82lx3c8akkxdbkch1z4dbq54r05jk6jgdyd7mrdh9k4lm"))))
|
||
(arguments
|
||
(substitute-keyword-arguments (package-arguments
|
||
go-github-com-pion-mdns)
|
||
((#:unpack-path flags ''())
|
||
"github.com/pion/mdns/v2")
|
||
((#:import-path flags ''())
|
||
"github.com/pion/mdns/v2")))))
|
||
|
||
(define-public go-github-com-pion-rtcp
|
||
(package
|
||
(name "go-github-com-pion-rtcp")
|
||
(version "1.2.14")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/rtcp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "00hfq0l17zq47slzfbrghgfc0v808hqiyaab3ni9kh1v7nmvp5ic"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/rtcp"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/pion/rtcp")
|
||
(synopsis "Implementation of RTCP protocol in Golang")
|
||
(description
|
||
"Package rtcp implements encoding and decoding of RTCP packets according
|
||
to @url{https://www.rfc-editor.org/rfc/rfc3550, RFC 3550},
|
||
@url{https://www.rfc-editor.org/rfc/rfc5506, RFC 5506}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-rtp
|
||
(package
|
||
(name "go-github-com-pion-rtp")
|
||
(version "1.8.6")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/rtp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1vrdvswvvbqq83kbjlyblarbsn5v0sjcwrcv03nncd605cggnbkx"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/rtp"))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-randutil))
|
||
(home-page "https://github.com/pion/rtp")
|
||
(synopsis "Go implementation of RTP")
|
||
(description
|
||
"This package provides a @acronym{Real-time Transport Protocol, RTP}
|
||
packetizer and depacketizer.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-sctp
|
||
(package
|
||
(name "go-github-com-pion-sctp")
|
||
(version "1.8.19")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/sctp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "19yzpyrlmk3gvpkpn5846rad9cc8ffxw9jqwnpr6szqax7k0l0zw"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/sctp"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-logging
|
||
go-github-com-pion-randutil
|
||
go-github-com-pion-transport-v3))
|
||
(home-page "https://github.com/pion/sctp")
|
||
(synopsis "Implementation of SCTP in Golang")
|
||
(description
|
||
"This package implements the @acronym{Stream Control Transmission
|
||
Protocol,SCTP} as specified in
|
||
@uref{https://rfc-editor.org/rfc/rfc9260.html,RFC 9260}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-sdp-v3
|
||
(package
|
||
(name "go-github-com-pion-sdp-v3")
|
||
(version "3.0.9")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/sdp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "08d3glli1n45ayc26qwaxm7k5knrf99x5nwkllmmhf29g8kwc89n"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/sdp/v3"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-randutil))
|
||
(home-page "https://github.com/pion/sdp")
|
||
(synopsis "Implementation of the SDP protocol in Golang")
|
||
(description
|
||
"Package sdp implements @acronym{Session Description Protocol,SDP}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-srtp-v2
|
||
(package
|
||
(name "go-github-com-pion-srtp-v2")
|
||
(version "2.0.20")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/srtp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1ijwx9mrc0ha8fam6y6xxih59dyr8hg9ly476kv6gfw564qfp7hk"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/srtp/v2"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-logging
|
||
go-github-com-pion-rtcp
|
||
go-github-com-pion-rtp
|
||
go-github-com-pion-transport-v2))
|
||
(home-page "https://github.com/pion/srtp")
|
||
(synopsis "Implementation of SRTP protocol in Golang")
|
||
(description
|
||
"Package srtp implements Secure Real-time Transport Protocol.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-stun
|
||
(package
|
||
(name "go-github-com-pion-stun")
|
||
(version "0.6.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/stun")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0172fcm1xvzvy3d5lcpscayzpf3i5w4bpfydifdc9l4n2wslx0sm"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/stun"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-dtls-v2
|
||
go-github-com-pion-logging
|
||
go-github-com-pion-transport-v2))
|
||
(home-page "https://github.com/pion/stun")
|
||
(synopsis "Go implementation of STUN")
|
||
(description
|
||
"Package @code{stun} implements Session Traversal Utilities for
|
||
+NAT (STUN) (@url{https://tools.ietf.org/html/rfc5389, RFC 5389}) protocol and
|
||
+@url{https://pkg.go.dev/github.com/pion/stun#Client, client} with no external
|
||
+dependencies and zero allocations in hot paths. Client
|
||
+@url{https://pkg.go.dev/github.com/pion/stun#WithRTO, supports} automatic
|
||
+request retransmissions.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-stun-v2
|
||
(package
|
||
(inherit go-github-com-pion-stun)
|
||
(name "go-github-com-pion-stun-v2")
|
||
(version "2.0.0")
|
||
(source
|
||
(origin
|
||
(inherit (package-source go-github-com-pion-stun))
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/stun")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0zli55ls5izpr6cw0wj0gy44872xn9rk20i8ay9cfk7j2rb60y60"))))
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/stun/v2"))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-dtls-v2
|
||
go-github-com-pion-logging
|
||
go-github-com-pion-transport-v3
|
||
go-golang-org-x-crypto
|
||
go-golang-org-x-net))))
|
||
|
||
(define-public go-github-com-pion-stun-v3
|
||
(package
|
||
(inherit go-github-com-pion-stun-v2)
|
||
(name "go-github-com-pion-stun-v3")
|
||
(version "3.0.0")
|
||
(source
|
||
(origin
|
||
(inherit (package-source go-github-com-pion-stun))
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/stun")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0yavl76y0fida9f1jfdmzdg7rm5jhp6kvdgn3smsf93jad1vbr2x"))))
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/stun/v3"))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-dtls-v3
|
||
go-github-com-pion-logging
|
||
go-github-com-pion-transport-v3))))
|
||
|
||
(define-public go-github-com-pion-transport
|
||
(package
|
||
(name "go-github-com-pion-transport")
|
||
(version "0.14.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/transport")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0331kywqaa6fymc64wrqgwnxlhx31qdf299i927vifx1wdcl9ikp"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; Source-only package
|
||
#:tests? #f
|
||
#:import-path "github.com/pion/transport"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(delete 'build))))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-logging
|
||
go-golang-org-x-net
|
||
go-golang-org-x-sys))
|
||
(home-page "https://github.com/pion/transport")
|
||
(synopsis "Golang networking related functions")
|
||
(description
|
||
"This package implements a various networking related functions used
|
||
throughout the @url{https://github.com/pion, Pion} modules.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-transport-v2
|
||
(package
|
||
(inherit go-github-com-pion-transport)
|
||
(name "go-github-com-pion-transport-v2")
|
||
(version "2.2.10")
|
||
(source
|
||
(origin
|
||
(inherit (package-source go-github-com-pion-transport))
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/transport/")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0g5pg6mz61blprccxzysbwldkil84qgwp6404lsp4m9wh44312hf"))))
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/transport/v2"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'fix-module-paths
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(substitute* (find-files "." "\\.go$")
|
||
(("github.com/pion/transport/v3") import-path))))))))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(modify-inputs (package-propagated-inputs go-github-com-pion-transport)
|
||
(prepend go-github-com-wlynxg-anet)))))
|
||
|
||
(define-public go-github-com-pion-transport-v3
|
||
(package
|
||
(inherit go-github-com-pion-transport)
|
||
(name "go-github-com-pion-transport-v3")
|
||
(version "3.0.2")
|
||
(source
|
||
(origin
|
||
(inherit (package-source go-github-com-pion-transport))
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/transport/")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0j7ljkbyf2qd7daxg7d1rd6c92md64agi59b69g6jyqpz5jww998"))))
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pion/transport/v3"))))
|
||
|
||
(define-public go-github-com-pion-turn
|
||
(package
|
||
(name "go-github-com-pion-turn")
|
||
(version "1.4.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/turn/")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "16lkgmrlks0qdzbk8jj0c0j66qfxhb54cvzgrfn4imvm56dbxp2n"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:tests? #f ;Tests require network access.
|
||
#:import-path "github.com/pion/turn"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-logging
|
||
go-github-com-pion-stun
|
||
go-github-com-pion-transport
|
||
go-github-com-pkg-errors))
|
||
(home-page "https://github.com/pion/turn/")
|
||
(synopsis "API for building TURN clients and servers in Golang")
|
||
(description
|
||
"This package provides a toolkit for building @acronym{TURN, Traversal
|
||
Using Relays around NAT}, specified in
|
||
@url{https://datatracker.ietf.org/doc/html/rfc8656, RFC 8656}, servers and
|
||
clients.
|
||
|
||
@code{pion/turn} is an API for building STUN/TURN clients and servers, not a
|
||
binary you deploy then configure. It may require copying the examples and
|
||
making minor modifications to fit your need, no knowledge of Go is required
|
||
however.
|
||
|
||
The advantage of this is that you don't need to deal with complicated
|
||
configuration files, or custom APIs to modify the state of Pion TURN. After
|
||
you instantiate an instance of a Pion TURN server or client you interact with
|
||
it like any library. The quickest way to get started is to look at the
|
||
@url{https://github.com/pion/turn/blob/master/examples, examples} or
|
||
@url{https://godoc.org/github.com/pion/turn, GoDoc}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pion-turn-v2
|
||
(package
|
||
(inherit go-github-com-pion-turn)
|
||
(name "go-github-com-pion-turn-v2")
|
||
(version "2.1.6")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/turn/")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0iw7nvqsxpqy90k5a8mq3dyask272391m59cbiy30aak1y2wwaac"))))
|
||
(arguments
|
||
(substitute-keyword-arguments (package-arguments
|
||
go-github-com-pion-turn)
|
||
((#:import-path flags ''())
|
||
"github.com/pion/turn/v2")))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-logging
|
||
go-github-com-pion-randutil
|
||
go-github-com-pion-stun
|
||
go-github-com-pion-transport-v2
|
||
go-golang-org-x-sys))))
|
||
|
||
(define-public go-github-com-pion-turn-v3
|
||
(package
|
||
(inherit go-github-com-pion-turn)
|
||
(name "go-github-com-pion-turn-v3")
|
||
(version "3.0.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/turn/")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0l78m9ym0sv1zfalbv95lwblmr789fc53d957ph5mdznhjx89lyx"))))
|
||
(arguments
|
||
(substitute-keyword-arguments (package-arguments
|
||
go-github-com-pion-turn)
|
||
((#:import-path flags ''())
|
||
"github.com/pion/turn/v3")))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-logging
|
||
go-github-com-pion-randutil
|
||
go-github-com-pion-stun-v2
|
||
go-github-com-pion-transport-v3
|
||
go-golang-org-x-sys))))
|
||
|
||
(define-public go-github-com-pion-webrtc-v3
|
||
(package
|
||
(name "go-github-com-pion-webrtc-v3")
|
||
(version "3.3.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pion/webrtc")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1f421a2s00mj5l9bj96xlignwfdfkp6kwk9qjs3vhazpmvqxzsgi"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; XXX: Figure out why tests timeout and fail eventually.
|
||
#:tests? #f
|
||
#:import-path "github.com/pion/webrtc/v3"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'remove-examples-and-benchmarks
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(for-each delete-file-recursively
|
||
(list "examples"))))))))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-pion-datachannel
|
||
go-github-com-pion-dtls-v2
|
||
go-github-com-pion-ice-v2
|
||
go-github-com-pion-interceptor
|
||
go-github-com-pion-logging
|
||
go-github-com-pion-randutil
|
||
go-github-com-pion-rtcp
|
||
go-github-com-pion-rtp
|
||
go-github-com-pion-sctp
|
||
go-github-com-pion-sdp-v3
|
||
go-github-com-pion-srtp-v2
|
||
go-github-com-pion-stun
|
||
go-github-com-pion-transport-v2
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/pion/webrtc")
|
||
(synopsis "Implementation of the WebRTC API in Golang")
|
||
(description
|
||
"Package webrtc implements the @code{WebRTC} (Real-Time Communication in
|
||
Browsers) 1.0 as defined in W3C @url{https://www.w3.org/TR/webrtc/,WebRTC}
|
||
specification document.
|
||
Features:
|
||
@itemize
|
||
@item implementation of @url{https://w3c.github.io/webrtc-pc/,webrtc-pc} and
|
||
@code{https://www.w3.org/TR/webrtc-stats/,webrtc-stats}
|
||
@item DataChannels
|
||
@item Send/Receive audio and video
|
||
@item Renegotiation
|
||
@item Plan-B and Unified Plan
|
||
@item SettingEngine for Pion specific extensions
|
||
@item implemented connectivity - Full ICE Agent, ICE Restart, Trickle ICE,
|
||
STUN, TURN mDNS candidates
|
||
@end itemize")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-pires-go-proxyproto
|
||
(package
|
||
(name "go-github-com-pires-go-proxyproto")
|
||
(version "0.7.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pires/go-proxyproto")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1p18w555xp187fl807h1yd092cvs8jarp98pa76zl84rxlk4k2h4"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pires/go-proxyproto"))
|
||
(home-page "https://github.com/pires/go-proxyproto")
|
||
(synopsis "Implementation of the PROXY protocol")
|
||
(description
|
||
"Package proxyproto implements Proxy Protocol (v1 and v2) parser and
|
||
writer, as per specification:
|
||
@@url{https://www.haproxy.org/download/2.3/doc/proxy-protocol.txt}. It is to
|
||
be used in one of or both proxy clients and proxy servers that need to support
|
||
said protocol. Both protocol versions, 1 (text-based) and 2 (binary-based)
|
||
are supported. @acronym{TLV, tag-length-value} parsers extensions comming with
|
||
this library support AWS, Azure and GCP.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-pkg-browser
|
||
(package
|
||
(name "go-github-com-pkg-browser")
|
||
(version "0.0.0-20240102092130-5ac0b6a4141c")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pkg/browser")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "05m0baqy1grd42by3vgih55473fa98cz2psyakbmf0swg8f949pn"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pkg/browser"))
|
||
(propagated-inputs (list go-golang-org-x-sys))
|
||
(home-page "https://github.com/pkg/browser")
|
||
(synopsis "Helpers to open files, readers, and URLs in a browser window")
|
||
(description
|
||
"Package browser provides helpers to open files, readers, and urls in a
|
||
browser window. The choice of which browser is started is entirely client
|
||
dependant.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-pkg-sftp
|
||
(package
|
||
(name "go-github-com-pkg-sftp")
|
||
(version "1.13.7")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pkg/sftp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0hhnsl327acwlmvp8wk4x1ml2mi6gdrdwm1dh9666n2cj9d8yj24"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pkg/sftp"))
|
||
(propagated-inputs (list go-golang-org-x-crypto go-github-com-kr-fs))
|
||
(native-inputs (list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/pkg/sftp")
|
||
(synopsis "SFTP implementation for Go")
|
||
(description
|
||
"This package provides an @acronym{SFTP, SSH File Transfer Protocol}
|
||
implementation, as described in
|
||
@url{https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt},
|
||
for Go.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-pquerna-cachecontrol
|
||
(package
|
||
(name "go-github-com-pquerna-cachecontrol")
|
||
(version "0.2.0")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pquerna/cachecontrol")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"0d5zgv2w0sinh9m41pw3n015zzyabk7awgwwga7nmhjz452c9r5n"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list #:import-path "github.com/pquerna/cachecontrol"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/pquerna/cachecontrol")
|
||
(synopsis "Golang HTTP Cache-Control Parser and Interpretation")
|
||
(description
|
||
"This package implements RFC 7234 Hypertext Transfer Protocol (HTTP/1.1):
|
||
Caching.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-pquerna-ffjson
|
||
(package
|
||
(name "go-github-com-pquerna-ffjson")
|
||
(version "0.0.0-20190930134022-aa0246cd15f7")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pquerna/ffjson")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0mxmrvqmiinqhlaxncaqznxwfspf3p8bmg9vniz40dw5jpv24cwb"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/pquerna/ffjson"
|
||
#:test-subdirs #~(list "fflib/v1/...")))
|
||
(native-inputs
|
||
(list go-github-com-google-gofuzz
|
||
go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/pquerna/ffjson")
|
||
(synopsis "Faster JSON for Golang")
|
||
(description
|
||
"This package implements functinality to generate static
|
||
@code{MarshalJSON} and @code{UnmarshalJSON} functions for structures in Go.
|
||
The generated functions reduce the reliance upon runtime reflection to do
|
||
serialization and are generally 2 to 3 times faster. In cases where
|
||
@@code{ffjson} doesn't understand a Type involved, it falls back to
|
||
@@code{encoding/json}, meaning it is a safe drop in replacement. By using
|
||
@code{ffjson} your JSON serialization just gets faster with no additional code
|
||
changes.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-puerkitobio-goquery
|
||
(package
|
||
(name "go-github-com-puerkitobio-goquery")
|
||
(version "1.7.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/PuerkitoBio/goquery")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0gh1d99l5xc9hvwa4j40pfq3y9vfyq52mnrz6bf1kw2r2zr2gbcc"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
`(#:import-path "github.com/PuerkitoBio/goquery"))
|
||
(propagated-inputs
|
||
(list go-github-com-andybalholm-cascadia go-golang-org-x-net))
|
||
(home-page "https://github.com/PuerkitoBio/goquery")
|
||
(synopsis "Features similar to jQuery to the Go language")
|
||
(description "@code{goquery} brings a syntax and a set of features similar
|
||
to jQuery to the Go language.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-puerkitobio-purell
|
||
(package
|
||
(name "go-github-com-puerkitobio-purell")
|
||
(version "1.2.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/PuerkitoBio/purell")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1zv1pkfvnrpv18ji3mgqa1k77h066yz5hvhdr1mxdz19kdjc5l43"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list #:import-path "github.com/PuerkitoBio/purell"))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net go-golang-org-x-text))
|
||
(home-page "https://github.com/PuerkitoBio/purell")
|
||
(synopsis "Tiny Go library to normalize URLs")
|
||
(description
|
||
"This package provides implements a functionality of URL normalizer as
|
||
described in @url{http://tools.ietf.org/html/rfc3986#section-6, RFC 3986}.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-puerkitobio-urlesc
|
||
(package
|
||
(name "go-github-com-puerkitobio-urlesc")
|
||
(version "0.0.0-20170810143723-de5bf2ad4578")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/PuerkitoBio/urlesc")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/PuerkitoBio/urlesc"))
|
||
(home-page "https://github.com/PuerkitoBio/urlesc")
|
||
(synopsis "Proper URL escaping as per RFC 3986")
|
||
(description
|
||
"Package @code{urlesc} implements query escaping as per
|
||
@url{https://rfc-editor.org/rfc/rfc3986.html,RFC 3986}. It contains some
|
||
parts of the @code{net/url} package, modified so as to allow some reserved
|
||
characters incorrectly escaped by net/url.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-quic-go-qpack
|
||
(package
|
||
(name "go-github-com-quic-go-qpack")
|
||
(version "0.4.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/quic-go/qpack")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "00mjz445hhx4yar5l8p21bpp4d06jyg2ajw0ax7bh64d37l4kx39"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; Tests require ginkgo v2.
|
||
#:tests? #f
|
||
#:import-path "github.com/quic-go/qpack"))
|
||
(propagated-inputs
|
||
(list go-github-com-onsi-ginkgo
|
||
go-github-com-onsi-gomega
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/quic-go/qpack")
|
||
(synopsis "Minimal QPACK (RFC 9204) implementation for Go")
|
||
(description
|
||
"A minimal QPACK (RFC 9204) implementation in Go. It is minimal in the sense
|
||
that it doesn't use the dynamic table at all, but just the static table and (Huffman
|
||
encoded) string literals. Wherever possible, it reuses code from the
|
||
@url{https://github.com/golang/net/tree/master/http2/hpack, HPACK implementation in
|
||
the Go standard library}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-quic-go-quic-go
|
||
(package
|
||
(name "go-github-com-quic-go-quic-go")
|
||
(version "0.45.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/quic-go/quic-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0skg771b6h9xlssf7prkryypz4j8hnkz7k3i76qhxdc4iz4rqyfz"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/quic-go/quic-go"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; Test steps are taken from GitHub Actions -
|
||
;; <https://github.com/quic-go/quic-go/blob/v0.42.0/
|
||
;; .github/workflows/unit.yml>.
|
||
(replace 'check
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(when tests?
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(setenv "TIMESCALE_FACTOR" "10")
|
||
(invoke "ginkgo" "-r" "-v" "--no-color"
|
||
(string-append
|
||
"--procs=" (number->string
|
||
;; All tests passed on 16 threads
|
||
;; mathine, but fail on
|
||
;; ci.guix.gnu.org.
|
||
(if (> (parallel-job-count) 17)
|
||
16
|
||
(parallel-job-count))))
|
||
"--skip-package=integrationtests"))))))))
|
||
(native-inputs
|
||
(list go-ginkgo
|
||
go-github-com-onsi-ginkgo-v2
|
||
go-go-uber-org-mock
|
||
go-golang-org-x-time))
|
||
(propagated-inputs
|
||
(list go-github-com-francoispqt-gojay
|
||
go-github-com-quic-go-qpack
|
||
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))
|
||
(home-page "https://github.com/quic-go/quic-go")
|
||
(synopsis "QUIC in Go")
|
||
(description
|
||
"This package provides a Go language implementation of the QUIC network
|
||
protocol.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-quic-go-webtransport-go
|
||
(package
|
||
(name "go-github-com-quic-go-webtransport-go")
|
||
(version "0.8.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/quic-go/webtransport-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0zwr4jg4dg2b14kkypkbs8dpai5b5s44gm5gq0vrs3mmg6vq0v97"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/quic-go/webtransport-go"
|
||
;; Error: "68" is not greater than "80"
|
||
#:test-flags #~(list "-skip" "TestDatagrams")))
|
||
(native-inputs
|
||
(list go-go-uber-org-mock
|
||
go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-quic-go-quic-go
|
||
go-golang-org-x-exp))
|
||
(home-page "https://github.com/quic-go/webtransport-go")
|
||
(synopsis "WebTransport implementation based on quic-go")
|
||
(description
|
||
"webtransport-go is an implementation of the @code{WebTransport} protocol, based
|
||
on @@url{https://github.com/quic-go/quic-go,quic-go}. It currently implements
|
||
@@url{https://www.ietf.org/archive/id/draft-ietf-webtrans-http3-02.html,draft-02}
|
||
of the specification.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-rcrowley-go-metrics
|
||
(package
|
||
(name "go-github-com-rcrowley-go-metrics")
|
||
(version "0.0.0-20201227073835-cf1acfcdf475")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/rcrowley/go-metrics")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0s7zab04slz07c7l4h2cqz62qnqah69r6p157vvbd7725a7wzkr0"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
;; Arbitrary precision tests are known to be broken on aarch64, ppc64le
|
||
;; and s390x. See: https://github.com/rcrowley/go-metrics/issues/249
|
||
`(#:tests? ,(not (string-prefix? "aarch64" (or (%current-target-system)
|
||
(%current-system))))
|
||
#:import-path "github.com/rcrowley/go-metrics"))
|
||
(propagated-inputs
|
||
(list go-github-com-stathat-go))
|
||
(home-page "https://github.com/rcrowley/go-metrics")
|
||
(synopsis "Go port of Coda Hale's Metrics library")
|
||
(description
|
||
"This package provides a Go implementation of Coda Hale's Metrics
|
||
library.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-realclientip-realclientip-go
|
||
(package
|
||
(name "go-github-com-realclientip-realclientip-go")
|
||
(version "1.0.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/realclientip/realclientip-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1mg3nrb4b1q38q9j1diz4pl2nqpa3ay45gi81i6ma3bvss8v7ri3"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/realclientip/realclientip-go"))
|
||
(home-page "https://github.com/realclientip/realclientip-go")
|
||
(synopsis "Go reference implementation of \"real\" client IP algorithms")
|
||
(description
|
||
"Package realclientip provides strategies for obtaining the \"real\"
|
||
client IP from HTTP requests.")
|
||
(license license:bsd-0)))
|
||
|
||
(define-public go-github-com-rs-cors
|
||
(package
|
||
(name "go-github-com-rs-cors")
|
||
(version "1.11.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/rs/cors")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0qbzxk1aabn8k2smrkpz3h59mwr6s2zvg4faj6kjsp78hyi172xn"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Submodule(s) with their own go.mod files and packed as
|
||
;; separated packages:
|
||
;;
|
||
;; - github.com/rs/cors/wrapper/gin
|
||
(for-each delete-file-recursively
|
||
(list "wrapper/gin"))))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/rs/cors"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; Examples requires additional dependencies and comes with their
|
||
;; own go.mod, consider to pack it as separate package if required.
|
||
(add-after 'unpack 'remove-examples
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(delete-file-recursively
|
||
(string-append "src/" import-path "/examples")))))))
|
||
(home-page "https://github.com/rs/cors")
|
||
(synopsis "Golang @code{net/http} configurable handler for CORS requests")
|
||
(description
|
||
"Package cors is @code{net/http} handler to handle @acronym{Cross-origin
|
||
resource sharing,CORS} related requests as defined by
|
||
@url{http://www.w3.org/TR/cors/,http://www.w3.org/TR/cors/}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-rs-xid
|
||
(package
|
||
(name "go-github-com-rs-xid")
|
||
(version "1.6.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/rs/xid")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0dck1girg54kgwjms0vsizaxasc8rj6pby4rlz7m07xffa3pp45c"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/rs/xid"))
|
||
(home-page "https://github.com/rs/xid")
|
||
(synopsis "Globally Unique ID Generator")
|
||
(description
|
||
"Package xid is a globally unique id generator suited for web scale.
|
||
Features:
|
||
@itemize
|
||
@item zize: 12 bytes (96 bits), smaller than UUID, larger than snowflake
|
||
@item base32 hex encoded by default (20 chars when transported as printable
|
||
string, still sortable)
|
||
@item mon configured, you don't need set a unique machine and/or data center
|
||
id
|
||
@item k-ordered
|
||
@item embedded time with 1 second precision
|
||
@item unicity guaranteed for 16,777,216 (24 bits) unique ids per second and
|
||
per host/process
|
||
@item lock-free (i.e.: unlike UUIDv1 and v2)
|
||
@end itemize")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-safchain-ethtool
|
||
(package
|
||
(name "go-github-com-safchain-ethtool")
|
||
(version "0.5.9")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/safchain/ethtool")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "01q0qfyksnhd4a2w2824yzdmyb4g4xr0y2z4ffnpbzz1wp60rydg"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/safchain/ethtool"
|
||
#:test-flags
|
||
;; Unable to retrieve driver from any interface of this system.
|
||
#~(list "-skip"
|
||
(string-join
|
||
(list "TestCmdGet"
|
||
"TestCmdGetMapped"
|
||
"TestMsglvlGet"
|
||
"TestStats"
|
||
"TestDriverName"
|
||
"TestBusInfo")
|
||
"|"))))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-sys))
|
||
(home-page "https://github.com/safchain/ethtool")
|
||
(synopsis "Ethtool library for Golang")
|
||
(description
|
||
"The ethtool package aims to provide a library that implements easy
|
||
access to the Linux SIOCETHTOOL ioctl operations. It can be used to retrieve
|
||
information from a network device such as statistics, driver related
|
||
information or even the peer of a VETH interface.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-sherclockholmes-webpush-go
|
||
(package
|
||
(name "go-github-com-sherclockholmes-webpush-go")
|
||
(version "1.3.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/SherClockHolmes/webpush-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0qv16zvkd1c7q81v2ai8pfz590fxdrk4lfbgyymln0q7jn5wlvki"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/SherClockHolmes/webpush-go"))
|
||
(propagated-inputs
|
||
(list go-github-com-golang-jwt-jwt go-golang-org-x-crypto))
|
||
(home-page "https://github.com/SherClockHolmes/webpush-go")
|
||
(synopsis "Web Push API Encryption with VAPID support")
|
||
(description
|
||
"Web Push API Encryption with
|
||
@url{https://datatracker.ietf.org/doc/html/draft-ietf-webpush-vapid-01, VAPID}
|
||
support.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-shurcool-githubv4
|
||
(package
|
||
(name "go-github-com-shurcool-githubv4")
|
||
(version "0.0.0-20240429030203-be2daab69064")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/shurcooL/githubv4")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0kkvqwv0waa8hj1jr9b4nvz8rmslqpchidl7gs9bplrkl3fvsxn6"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/shurcooL/githubv4"))
|
||
(propagated-inputs
|
||
(list go-github-com-shurcool-graphql
|
||
go-golang-org-x-oauth2))
|
||
(home-page "https://github.com/shurcooL/githubv4")
|
||
(synopsis "Client library for GitHub GraphQL API v4")
|
||
(description
|
||
"Package githubv4 is a client library for accessing GitHub @code{GraphQL}
|
||
API v4.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-shurcool-graphql
|
||
(package
|
||
(name "go-github-com-shurcool-graphql")
|
||
(version "0.0.0-20230722043721-ed46e5a46466")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/shurcooL/graphql")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "12cq16qak217bkpklqsmqhl42gz8cpadpzqw6fsivc3ambjpqdry"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/shurcooL/graphql"))
|
||
(home-page "https://github.com/shurcooL/graphql")
|
||
(synopsis "GraphQL client")
|
||
(description
|
||
"Package graphql provides a @code{GraphQL} client implementation.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-shurcool-httpfs
|
||
(package
|
||
(name "go-github-com-shurcool-httpfs")
|
||
(version "0.0.0-20230704072500-f1e31cf0ba5c")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/shurcooL/httpfs")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1m0jjnfzr8372cjx0zjm2zm695kwaz8l1yk7gzgn05biadsklprm"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/shurcooL/httpfs"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; XXX: Replace when go-build-system supports nested path.
|
||
(delete 'build)
|
||
(replace 'check
|
||
(lambda* (#:key import-path tests? #:allow-other-keys)
|
||
(when tests?
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(invoke "go" "test" "-v" "./..."))))))))
|
||
(native-inputs
|
||
(list go-golang-org-x-tools))
|
||
(propagated-inputs
|
||
(list go-github-com-shurcool-httpgzip))
|
||
(home-page "https://github.com/shurcooL/httpfs")
|
||
(synopsis "Utilities for @code{http.FileSystem}")
|
||
(description
|
||
"Collection of Go packages for working with the +@code{http.FileSystem}
|
||
interface.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-shurcool-httpgzip
|
||
(package
|
||
(name "go-github-com-shurcool-httpgzip")
|
||
(version "0.0.0-20230704072819-d1585fc322fa")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/shurcooL/httpgzip")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "10fnndia8ij3hwwvknn8qy8z3955bm7xyvqd69yh5g2zh25zc5x2"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/shurcooL/httpgzip"))
|
||
(native-inputs
|
||
(list go-golang-org-x-tools))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-net))
|
||
(home-page "https://github.com/shurcooL/httpgzip")
|
||
(synopsis "Primitives of @code{net-http}-like with gzip compression")
|
||
(description
|
||
"Package @code{httpgzip} provides @code{net/http}-like primitives that
|
||
use gzip compression when serving HTTP requests.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-shurcool-vfsgen
|
||
(package
|
||
(name "go-github-com-shurcool-vfsgen")
|
||
(version "0.0.0-20230704071429-0000e147ea92")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/shurcooL/vfsgen")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1ypfdiv56ckb0yc7mccc2l8vc3gmfws2p7bcf9f0j415m7r0aq6q"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/shurcooL/vfsgen"))
|
||
(native-inputs
|
||
(list go-golang-org-x-tools))
|
||
(propagated-inputs
|
||
(list go-github-com-shurcool-httpfs))
|
||
(home-page "https://github.com/shurcooL/vfsgen")
|
||
(synopsis "Generate Go code from an @code{http.FileSystem}")
|
||
(description
|
||
"Package @code{vfsgen} takes an @code{http.FileSystem} (likely at
|
||
@code{go generate} time) and generates Go code that statically implements the
|
||
provided @code{http.FileSystem}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-sourcegraph-jsonrpc2
|
||
(package
|
||
(name "go-github-com-sourcegraph-jsonrpc2")
|
||
(version "0.2.0")
|
||
(home-page "https://github.com/sourcegraph/jsonrpc2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url home-page)
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1id35b4mhif9gy1b70mv0x7xkmpm2p8xydix8six10yjyhvm1wjh"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/sourcegraph/jsonrpc2"))
|
||
(propagated-inputs
|
||
(list go-github-com-gorilla-websocket))
|
||
(synopsis "Provides a client and server implementation of JSON-RPC 2.0")
|
||
(description
|
||
"Package jsonrpc2 provides a Go implementation of JSON-RPC 2.0.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-ssgelm-cookiejarparser
|
||
(package
|
||
(name "go-github-com-ssgelm-cookiejarparser")
|
||
(version "1.0.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/ssgelm/cookiejarparser")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0fnm53br0cg3iwzniil0lh9w4xd6xpzfypwfpdiammfqavlqgcw4"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:embed-files #~(list "children" "nodes" "text")
|
||
#:import-path "github.com/ssgelm/cookiejarparser"))
|
||
(propagated-inputs (list go-golang-org-x-net))
|
||
(home-page "https://github.com/ssgelm/cookiejarparser")
|
||
(synopsis "Parse a curl cookiejar with Go")
|
||
(description
|
||
"This package is a Go library that parses a curl (netscape) cookiejar
|
||
file into a Go http.CookieJar.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-stathat-go
|
||
(package
|
||
(name "go-github-com-stathat-go")
|
||
(version "1.0.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/stathat/go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/stathat/go"))
|
||
(home-page "https://github.com/stathat/go")
|
||
(synopsis "Post statistics to StatHat")
|
||
(description
|
||
"This is a Go package for posting to a @url{https://www.stathat.com/,
|
||
StatHat} account.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-tdewolff-minify-v2
|
||
(package
|
||
(name "go-github-com-tdewolff-minify-v2")
|
||
(version "2.21.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/tdewolff/minify")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0vhblx1xim14i4npglzdp9hpjz92q2k29wbf9kp9m7id9cm7c7l9"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/tdewolff/minify/v2"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'regenerate-hash
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(for-each
|
||
(lambda (dir)
|
||
(with-directory-excursion
|
||
(format #f "src/~a/~a" import-path dir)
|
||
(make-file-writable "hash.go")
|
||
(format #t "Generating `hash.go' for ~a...~%" dir)
|
||
(invoke "go" "generate" "-v" "-n")))
|
||
'("css" "html" "svg")))))))
|
||
;; For tests and the CLI.
|
||
(native-inputs
|
||
(list go-github-com-djherbis-atime
|
||
go-github-com-fsnotify-fsnotify
|
||
go-github-com-matryer-try
|
||
go-github-com-tdewolff-argp
|
||
go-github-com-tdewolff-hasher ; to generate go files
|
||
go-github-com-tdewolff-test))
|
||
(propagated-inputs
|
||
(list go-github-com-tdewolff-parse-v2))
|
||
(home-page "https://go.tacodewolff.nl/minify")
|
||
(synopsis "Go minifiers for web formats")
|
||
(description
|
||
"This package provides HTML5, CSS3, JS, JSON, SVG and XML minifiers and
|
||
an interface to implement any other minifier.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-tdewolff-parse-v2
|
||
(package
|
||
(name "go-github-com-tdewolff-parse-v2")
|
||
(version "2.7.19")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/tdewolff/parse")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "17yswndnxgdj425h5q25wfvchjxnjf6nxyx76k9yn12r16arbl44"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/tdewolff/parse/v2"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'regenerate-hash
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(for-each
|
||
(lambda (dir)
|
||
(with-directory-excursion
|
||
(format #f "src/~a/~a" import-path dir)
|
||
(make-file-writable "hash.go")
|
||
(format #t "Generating `hash.go' for ~a...~%" dir)
|
||
(invoke "go" "generate")))
|
||
'("css" "html")))))))
|
||
(native-inputs
|
||
(list go-github-com-tdewolff-hasher
|
||
go-github-com-tdewolff-test))
|
||
(home-page "https://github.com/tdewolff/parse")
|
||
(synopsis "Go parsers for web formats")
|
||
(description
|
||
"This package contains several lexers and parsers written in Go.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-tetratelabs-wabin
|
||
(package
|
||
(name "go-github-com-tetratelabs-wabin")
|
||
(version "0.0.0-20230304001439-f6f874872834")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/tetratelabs/wabin")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "195bh4n2ba3rbgzcb1h7zi93dr0k38qxhg8m0laa0z41vl9i0igm"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/tetratelabs/wabin"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; XXX: Replace when go-build-system supports nested path.
|
||
(delete 'build)
|
||
(replace 'check
|
||
(lambda* (#:key import-path tests? #:allow-other-keys)
|
||
(when tests?
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(invoke "go" "test" "-v" "./..."))))))))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(home-page "https://github.com/tetratelabs/wabin")
|
||
(synopsis "WebAssembly Binary Format in Go")
|
||
(description
|
||
"This package provides @code{WebAssembly} a @code{WebAssembly} data model
|
||
and binary encoder.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-tetratelabs-wazero
|
||
(package
|
||
(name "go-github-com-tetratelabs-wazero")
|
||
(version "1.8.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/tetratelabs/wazero")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1xchvrkp6m729x3jknj3qwms4w2b2q8kcwyxhkmagms43yg4ykm5"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
(for-each delete-file-recursively
|
||
(list
|
||
;; This directory holds the wazero site's source code.
|
||
"site"
|
||
;; Windows related MSI packaging files.
|
||
"packaging"))))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/tetratelabs/wazero"
|
||
#:test-flags
|
||
#~(list "-skip" (string-join
|
||
(list "TestHugePageConfigs"
|
||
"TestRun"
|
||
"TestRun/3_1"
|
||
"Test_cli"
|
||
"Test_cli/cargo-wasi"
|
||
"Test_cli/cargo-wasi/test.txt"
|
||
"Test_cli/cargo-wasi/testcases/test.txt"
|
||
"Test_cli/tinygo"
|
||
"Test_cli/tinygo/test.txt"
|
||
"Test_cli/tinygo/testcases/test.txt"
|
||
"Test_cli/zig"
|
||
"Test_cli/zig-cc"
|
||
"Test_cli/zig-cc/test.txt"
|
||
"Test_cli/zig-cc/testcases/test.txt"
|
||
"Test_cli/zig/test.txt")
|
||
"|"))))
|
||
(home-page "https://github.com/tetratelabs/wazero")
|
||
(synopsis "Zero dependency WebAssembly runtime for Go")
|
||
(description
|
||
"wazero is a WebAssembly Core Specification
|
||
@url{https://www.w3.org/TR/2019/REC-wasm-core-1-20191205/,1.0} and
|
||
@code{https://www.w3.org/TR/2022/WD-wasm-core-2-20220419/,2.0} compliant
|
||
runtime. It has zero dependencies, and doesn't rely on CGO. This means you
|
||
can run applications in other languages and still keep cross compilation.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-tv42-httpunix
|
||
(let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
|
||
(revision "0"))
|
||
(package
|
||
(name "go-github-com-tv42-httpunix")
|
||
(version (git-version "0.0.0" revision commit))
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/tv42/httpunix")
|
||
(commit commit)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0xbwpip2hsfhd2kd878jn5ndl8y1i9658lggha4x3xb5m1rsds9w"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/tv42/httpunix"))
|
||
(home-page "https://github.com/tv42/httpunix")
|
||
(synopsis "Go library to talk HTTP over Unix domain sockets")
|
||
(description "This package is a Go library to talk HTTP over Unix domain
|
||
sockets.")
|
||
(license license:expat))))
|
||
|
||
(define-public go-github-com-txthinking-socks5
|
||
(package
|
||
(name "go-github-com-txthinking-socks5")
|
||
(version "0.0.0-20230325130024-4230056ae301")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/txthinking/socks5")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1zbwczxwmx8ngs6s0bnb0v73jvx96m9ll753zfgcns8fvvgdi2lb"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/txthinking/socks5"))
|
||
(propagated-inputs
|
||
(list go-github-com-miekg-dns
|
||
go-github-com-patrickmn-go-cache
|
||
go-github-com-txthinking-runnergroup))
|
||
(home-page "https://github.com/txthinking/socks5")
|
||
(synopsis "SOCKSv5 protocol Golang library")
|
||
(description
|
||
"This package provides a SOCKS protocol version 5 library with full
|
||
TCP/UDP and IPv4/IPv6 support.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-ucarion-urlpath
|
||
(package
|
||
(name "go-github-com-ucarion-urlpath")
|
||
(version "0.0.0-20200424170820-7ccc79b76bbb")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/ucarion/urlpath")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "12ns9lqdz566agdp4y0whgksmidi0zp7759akvx0b79mjzyvypax"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/ucarion/urlpath"))
|
||
(home-page "https://github.com/ucarion/urlpath")
|
||
(synopsis "REST-like URL path patterns matching")
|
||
(description
|
||
"Package urlpath matches paths against a template. It's meant for
|
||
applications that take in REST-like URL paths, and need to validate and
|
||
extract data from those paths.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-ugorji-go-codec
|
||
(package
|
||
(name "go-github-com-ugorji-go-codec")
|
||
(version "1.2.12")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/ugorji/go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "11j0sd7kli2bh2npfr2znnvdjsk118rs8khqzfdp6pb5jm0l20ib"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/ugorji/go/codec"
|
||
#:unpack-path "github.com/ugorji/go"
|
||
#:phases #~(modify-phases %standard-phases
|
||
(add-after 'unpack 'remove-benchmarks
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(delete-file-recursively (string-append "src/"
|
||
import-path
|
||
"/bench")))))))
|
||
(propagated-inputs (list go-golang-org-x-tools))
|
||
(home-page "https://github.com/ugorji/go")
|
||
(synopsis "Codec and encoding library for various serialization formats")
|
||
(description
|
||
"This package provides a high performance and feature rich codec and
|
||
encoding library for the MessagePack, CBOR, JSON and the Binc formats.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-valyala-fasthttp
|
||
(package
|
||
(name "go-github-com-valyala-fasthttp")
|
||
(version "1.58.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/valyala/fasthttp")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0r823fikgyhnmcn322anhs3ivkbzhdgbywvwi81v9kvfhi35plli"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/valyala/fasthttp"
|
||
#:test-flags
|
||
#~(list "-skip" (string-join
|
||
;; Network set up is required.
|
||
(list "TestClientConfigureClientFailed"
|
||
"TestDialer_GetDialFunc")
|
||
"|"))
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(replace 'check
|
||
(lambda* (#:key inputs #:allow-other-keys #:rest args)
|
||
(unless
|
||
;; Tests hang forever with gccgo.
|
||
(false-if-exception (search-input-file inputs "/bin/gccgo"))
|
||
(apply (assoc-ref %standard-phases 'check) args)))))))
|
||
(propagated-inputs
|
||
(list go-github-com-andybalholm-brotli
|
||
go-github-com-klauspost-compress
|
||
go-github-com-valyala-bytebufferpool
|
||
go-github-com-valyala-tcplisten
|
||
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/valyala/fasthttp")
|
||
(synopsis "Provides fast HTTP server and client API")
|
||
(description
|
||
"This package provides a Go module @code{fasthttp} which may be used as
|
||
replacement for native @code{net/http} module.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-valyala-tcplisten
|
||
(package
|
||
(name "go-github-com-valyala-tcplisten")
|
||
(version "1.0.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/valyala/tcplisten")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1fv5hxmq1jwrjn1rdjvbmjrrkb601zcdh01qhx6d8l7ss6n05zb8"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
;; NOTE: (Sharlatan-20211218T165504+0000): Tests failing:
|
||
;;
|
||
;; tcplisten_test.go:56: cannot create listener 0 using Config
|
||
;; &tcplisten.Config{ReusePort:false, DeferAccept:false, FastOpen:false,
|
||
;; Backlog:32}: lookup ip6-localhost on [::1]:53: read udp
|
||
;; [::1]:33932->[::1]:53: read: connection refused
|
||
;;
|
||
'(#:tests? #f
|
||
#:import-path "github.com/valyala/tcplisten"))
|
||
(home-page "https://github.com/valyala/tcplisten")
|
||
(synopsis "Customizable TCP net.Listener for Go")
|
||
(description
|
||
"@code{tcplisten} provides customizable TCP net.Listener with various
|
||
performance-related options.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-vektah-gqlparser-v2
|
||
(package
|
||
(name "go-github-com-vektah-gqlparser-v2")
|
||
(version "2.5.21")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/vektah/gqlparser")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0hrzm9f3kvcblff4hypf1p95kxsv5pww7vcghhw2jb7r8r4kmdf0"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/vektah/gqlparser/v2"))
|
||
(native-inputs
|
||
(list go-github-com-andreyvit-diff
|
||
go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-agnivade-levenshtein
|
||
go-gopkg-in-yaml-v3))
|
||
(home-page "https://github.com/vektah/gqlparser")
|
||
(synopsis "Port of the parser from @code{graphql-js} into golang")
|
||
(description
|
||
"This is a parser for GraphQL, written to mirror the
|
||
@url{https://github.com/graphql/graphql-js, graphql-js} reference
|
||
implementation as closely while remaining idiomatic and easy to use.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-vishvananda-netlink
|
||
(package
|
||
(name "go-github-com-vishvananda-netlink")
|
||
(version "1.3.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 "1ckwb1ml7i2ccdd7kzc04s839naf4arlxav2ip5kf4rm4xhba9g7"))))
|
||
(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?))
|
||
#:test-flags
|
||
;; One test fails with error: operation not permitted.
|
||
#~(list "-skip" "TestSocketXDPGetInfo")
|
||
#:import-path "github.com/vishvananda/netlink"))
|
||
(propagated-inputs
|
||
(list go-github-com-vishvananda-netns
|
||
go-golang-org-x-sys))
|
||
(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 go-github-com-vishvananda-netns
|
||
(package
|
||
(name "go-github-com-vishvananda-netns")
|
||
(version "0.0.5")
|
||
(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 "1f96fbmjq93msdfxmicnypnn2lzvi7jrxy82fiyd9gwxdapfd061"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; Tests fail with error: operation not permitted.
|
||
#:test-flags #~(list "-skip" "TestGetNewSetDelete|TestThreaded")
|
||
#:import-path "github.com/vishvananda/netns"))
|
||
(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-github-com-whyrusleeping-cbor
|
||
(package
|
||
(name "go-github-com-whyrusleeping-cbor")
|
||
(version "0.0.0-20171005072247-63513f603b11")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/whyrusleeping/cbor")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0v3kgzk8grz17my2vhv12qi9dgpx3z86hy9ff1c4qw83mg8hm67s"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/whyrusleeping/cbor"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; XXX: Replace when go-build-system supports nested path.
|
||
(delete 'build)
|
||
(replace 'check
|
||
(lambda* (#:key import-path tests? #:allow-other-keys)
|
||
(when tests?
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
;; No test vectors were provided with git checkout:
|
||
;; var errpath string = "../test-vectors/appendix_a.json"
|
||
(substitute* "go/cbor_test.go"
|
||
(("TestDecodeVectors") "offTestDecodeVectors"))
|
||
(invoke "go" "test" "-v" "./..."))))))))
|
||
(home-page "https://github.com/whyrusleeping/cbor")
|
||
(synopsis "Concise Binary Object Representation in Golang")
|
||
(description
|
||
"@acronym{Concise Binary Object Representation,CBOR} is a superset of
|
||
JSON's schema that's faster and more compact.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-whyrusleeping-chunker
|
||
(package
|
||
(name "go-github-com-whyrusleeping-chunker")
|
||
(version "0.0.0-20181014151217-fe64bd25879f")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/whyrusleeping/chunker")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "13q4flp9iwwyi0izqar786h42713rf3m22qlvg0masbmdi69qjr2"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/whyrusleeping/chunker"))
|
||
(home-page "https://github.com/whyrusleeping/chunker")
|
||
(synopsis "Implementation of Content Defined Chunking in Golang")
|
||
(description
|
||
"Package chunker implements @acronym{Content Defined Chunking,CDC} based
|
||
on a rolling Rabin Checksum. This package provides a modified fork of
|
||
https://github.com/restic/restic project.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-github-com-whyrusleeping-json-filter
|
||
(let ((commit "ff25329a9528f01c5175414f16cc0a6a162a5b8b")
|
||
(revision "0"))
|
||
(package
|
||
(name "go-github-com-whyrusleeping-json-filter")
|
||
(version (git-version "0.0.0" revision commit))
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/whyrusleeping/json-filter")
|
||
(commit commit)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0cai0drvx4c8j686l908vpcsz3mw3vxi3ziz94b0f3c5ylpj07j7"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path
|
||
"github.com/whyrusleeping/json-filter"))
|
||
(home-page "https://github.com/whyrusleeping/json-filter")
|
||
(synopsis "Library to query JSON objects marshalled into map[string]interface")
|
||
(description "A library to query JSON objects marshalled into
|
||
@command{map[string]interface{}}.")
|
||
(license license:expat))))
|
||
|
||
(define-public go-github-com-whyrusleeping-multiaddr-filter
|
||
(package
|
||
(name "go-github-com-whyrusleeping-multiaddr-filter")
|
||
(version "0.0.0-20160516205228-e903e4adabd7")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/whyrusleeping/multiaddr-filter")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0ksd8vnp207dvphmhrazwldj8if900fnyc1pqa9pfvj04qp92640"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; (*testing.common).Fatalf format %s has arg val of wrong type bool
|
||
#:tests? #f
|
||
#:import-path "github.com/whyrusleeping/multiaddr-filter"))
|
||
(home-page "https://github.com/whyrusleeping/multiaddr-filter")
|
||
(synopsis "Parsing ip filters and masks in the multiaddr format")
|
||
(description
|
||
"This module creates very simple
|
||
@url{https://github.com/jbenet/go-multiaddr,multiaddr} formatted cidr
|
||
netmasks.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-wlynxg-anet
|
||
(package
|
||
(name "go-github-com-wlynxg-anet")
|
||
(version "0.0.5")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/wlynxg/anet")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "09s3x28qb571xs92gnbqzkyiah4vhk56hqqb4cc4yfrzfv3430hp"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/wlynxg/anet"))
|
||
(home-page "https://github.com/wlynxg/anet")
|
||
(synopsis "Adjusted @code{net.Interfaces()} for Golang")
|
||
(description
|
||
"This package implements a functionality to resolve some problems for
|
||
Android environment where standard @code{net} and @code{golang.org/x/net}
|
||
missing it. It address the issues
|
||
@url{https://github.com/golang/go/issues/40569, #40569} and
|
||
@url{https://github.com/golang/go/issues/68082, #68082}.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-github-com-xdg-go-scram
|
||
(package
|
||
(name "go-github-com-xdg-go-scram")
|
||
(version "1.1.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/xdg-go/scram")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1bkznny84fdn4sy3wq5680v424glsq9nh2169qy51213bah6by84"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/xdg-go/scram"))
|
||
(propagated-inputs
|
||
(list go-github-com-xdg-go-stringprep
|
||
go-github-com-xdg-go-pbkdf2))
|
||
(home-page "https://github.com/xdg-go/scram")
|
||
(synopsis "Go implementation of RFC-5802")
|
||
(description
|
||
"Package scram provides client and server implementations of the
|
||
@acronym{Salted Challenge Response Authentication Mechanism, SCRAM} described
|
||
in RFC-5802 and RFC-7677.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-xeipuuv-gojsonpointer
|
||
(let ((commit "4e3ac2762d5f479393488629ee9370b50873b3a6")
|
||
(revision "0"))
|
||
(package
|
||
(name "go-github-com-xeipuuv-gojsonpointer")
|
||
(version (git-version "0.0.0" revision commit))
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/xeipuuv/gojsonpointer")
|
||
(commit commit)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "13y6iq2nzf9z4ls66bfgnnamj2m3438absmbpqry64bpwjfbsi9q"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/xeipuuv/gojsonpointer"))
|
||
(home-page "https://github.com/xeipuuv/gojsonpointer")
|
||
(synopsis "Implementation of JSON Pointer for Go")
|
||
(description
|
||
"This package provides an implementation of JSON Pointer for the Go
|
||
programming language.")
|
||
(license license:asl2.0))))
|
||
|
||
(define-public go-github-com-xeipuuv-gojsonreference
|
||
(let ((commit "bd5ef7bd5415a7ac448318e64f11a24cd21e594b")
|
||
(revision "0"))
|
||
(package
|
||
(name "go-github-com-xeipuuv-gojsonreference")
|
||
(version (git-version "0.0.0" revision commit))
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/xeipuuv/gojsonreference")
|
||
(commit commit)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/xeipuuv/gojsonreference"))
|
||
(propagated-inputs
|
||
(list go-github-com-xeipuuv-gojsonpointer))
|
||
(home-page "https://github.com/xeipuuv/gojsonreference")
|
||
(synopsis "Implementation of JSON Reference for Go")
|
||
(description
|
||
"This package provides an implementation of JSON Reference for the Go
|
||
programming language.")
|
||
(license license:asl2.0))))
|
||
|
||
(define-public go-github-com-xeipuuv-gojsonschema
|
||
(package
|
||
(name "go-github-com-xeipuuv-gojsonschema")
|
||
(version "1.2.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/xeipuuv/gojsonschema")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1mqiq0r8qw4qlfp3ls8073r6514rmzwrmdn4j33rppk3zh942i6l"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; validation of time strings. only RFC3339 not all of ISO 8601 are
|
||
;; valid. expects: false, given true Schema: {"format":"time"} Data:
|
||
;; "01:01:01,1111"
|
||
#:test-flags #~(list "-skip" "TestFormats")
|
||
#:import-path "github.com/xeipuuv/gojsonschema"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-xeipuuv-gojsonreference
|
||
go-github-com-xeipuuv-gojsonpointer))
|
||
(home-page "https://github.com/xeipuuv/gojsonschema")
|
||
(synopsis "Implementation of JSON Schema for Go")
|
||
(description
|
||
"This package provides an implementation of JSON Schema for the Go
|
||
programming language, which supports draft-04, draft-06 and draft-07.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-github-com-xo-dburl
|
||
(package
|
||
(name "go-github-com-xo-dburl")
|
||
(version "0.23.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/xo/dburl")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0yxyfrm45dqd26513r2cvgkqfsclijsfzqrckbw45wydk45mq442"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/xo/dburl"))
|
||
(home-page "https://github.com/xo/dburl")
|
||
(synopsis
|
||
"URL style mechanism for parsing and opening SQL database connection strings")
|
||
(description
|
||
"Package dburl provides a standard, @code{net/url.URL} style mechanism
|
||
for parsing and opening SQL database connection strings for Go. Provides
|
||
standardized way to parse and open @@url{#URL,URL}'s for popular databases
|
||
@code{PostgreSQL}, @code{MySQL}, SQLite3, Oracle Database, Microsoft SQL
|
||
Server, in addition to most other SQL databases with a publicly available Go
|
||
driver.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-xtaci-kcp-go-v5
|
||
(package
|
||
(name "go-github-com-xtaci-kcp-go-v5")
|
||
(version "5.6.18")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/xtaci/kcp-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "17jqgl2zdra9rz8ap3zlrk7ljnm316gd4dy4cimlk2641n8r5bjx"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/xtaci/kcp-go/v5"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-klauspost-reedsolomon
|
||
go-github-com-pkg-errors
|
||
go-github-com-templexxx-xorsimd
|
||
go-github-com-tjfoc-gmsm
|
||
go-github-com-xtaci-lossyconn
|
||
go-golang-org-x-crypto
|
||
go-golang-org-x-net))
|
||
(home-page "https://github.com/xtaci/kcp-go")
|
||
(synopsis "Crypto-Secure Reliable-UDP Library with FEC")
|
||
(description
|
||
"This package provides smooth, resilient, ordered, error-checked and
|
||
anonymous delivery of streams over UDP packets.
|
||
Features:
|
||
@itemize
|
||
@item designed for latency-sensitive scenarios
|
||
@item cache-friendly and memory-optimized design
|
||
@item handles >5K concurrent connections on a single commodity server
|
||
@item compatible with @code{net.Conn} and @code{net.Listener}, serving as a
|
||
drop-in replacement for @code{net.TCPConn}
|
||
@item @acronym{Forward Error Correction, FEC} support with
|
||
@url{https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction,
|
||
Reed-Solomon Codes}
|
||
@item packet-level encryption support with @code{3DES}, @code{AES},
|
||
@code{Blowfish}, @code{Cast5}, @code{PBKDF2}, @code{SM4}, @code{Salsa20},
|
||
@code{TEA}, @code{Twofish}, and @code{XTEA}
|
||
@item only a fixed number of goroutines are created for the entire server
|
||
application
|
||
@item compatible with @url{https://github.com/skywind3000, skywind3000}'s C
|
||
version with various improvements
|
||
@end itemize")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-xtaci-lossyconn
|
||
(package
|
||
(name "go-github-com-xtaci-lossyconn")
|
||
(version "0.0.0-20200209145036-adba10fffc37")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/xtaci/lossyconn")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1pizmd8py5x8yjqp6fz2y0kpvd1za3rbp7whyyh69zyk1a305fam"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/xtaci/lossyconn"))
|
||
(home-page "https://github.com/xtaci/lossyconn")
|
||
(synopsis "Lossy connection simulator")
|
||
(description
|
||
"Package lossyconn is a lossy connection simulator for Golang.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-xtaci-smux
|
||
(package
|
||
(name "go-github-com-xtaci-smux")
|
||
(version "1.5.30")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/xtaci/smux")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1i4h672vmg2b4p8hkbhpsp8p2nk4d3qm6vf76yly389l2zb7h4l3"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/xtaci/smux"))
|
||
(home-page "https://github.com/xtaci/smux")
|
||
(synopsis "Introduction")
|
||
(description
|
||
"Smux (@strong{S}imple @strong{MU}ltiple@strong{X}ing) is a multiplexing
|
||
library for Golang. It relies on an underlying connection to provide
|
||
reliability and ordering, such as TCP or
|
||
@url{https://github.com/xtaci/kcp-go,KCP}, and provides stream-oriented
|
||
multiplexing. The original intention of this library is to power the
|
||
connection management for @url{https://github.com/xtaci/kcp-go,kcp-go}.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-gitlab-torproject-org-tpo-anti-censorship-geoip
|
||
(package
|
||
(name "go-gitlab-torproject-org-tpo-anti-censorship-geoip")
|
||
(version "0.0.0-20210928150955-7ce4b3d98d01")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url
|
||
"https://gitlab.torproject.org/tpo/anti-censorship/geoip.git")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0i7dc717w1g7hk7488vscqxj0a10af6fz9jczxxsfyxagynfzqcq"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "gitlab.torproject.org/tpo/anti-censorship/geoip"))
|
||
(propagated-inputs
|
||
(list go-github-com-smartystreets-goconvey))
|
||
(home-page "https://gitlab.torproject.org/tpo/anti-censorship/geoip")
|
||
(synopsis "GeoIP go library that uses the tor geoipdb")
|
||
(description
|
||
"This code is for loading database data that maps IP addresses to
|
||
countries for collecting and presenting statistics on snowflake use that might
|
||
alert us to censorship events.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
|
||
(package
|
||
(name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib")
|
||
(version "1.6.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0jw9vlvlx7rrl366kwz47414aciw3r37lwg6h4jq8cj5hb4bqnd9"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib"))
|
||
(home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
|
||
(synopsis "Go pluggable transports library")
|
||
(description "GoPtLib is a library for writing Tor pluggable transports in
|
||
Go.")
|
||
(license license:cc0)))
|
||
|
||
(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil
|
||
(package
|
||
(name
|
||
"go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil")
|
||
(version "0.0.0-20240710081135-6c4d8ed41027")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url (string-append
|
||
"https://gitlab.torproject.org/tpo/anti-censorship"
|
||
"/pluggable-transports/ptutil.git"))
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1h7ssgsny6abhpycgks1kvqzvd20s081n39j5yxjjr7zn495ysdc"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:skip-build? #t
|
||
#:import-path
|
||
"gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/ptutil"))
|
||
(propagated-inputs
|
||
(list go-github-com-prometheus-client-golang
|
||
go-github-com-prometheus-client-model
|
||
go-google-golang-org-protobuf))
|
||
(home-page
|
||
"https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/ptutil")
|
||
(synopsis "Collection of utilities for Pluggable Transports")
|
||
(description
|
||
"This package provides a collection of utilities for Pluggable Transports.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2
|
||
(package
|
||
(name
|
||
"go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2")
|
||
(version "2.10.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url (string-append
|
||
"https://gitlab.torproject.org/tpo/anti-censorship"
|
||
"/pluggable-transports/snowflake"))
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "14ypgzj6c6vjw9s85wf2vdfa9l06iandx7gz90i3w6r65q2cp6vj"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; Project provides a Go library and also CLI builds.
|
||
#:skip-build? #t
|
||
#:import-path
|
||
"gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2"
|
||
;; panic: empty transcript [recovered]
|
||
#:test-flags #~(list "-skip" "TestQueuePacketConnWriteToKCP")))
|
||
(native-inputs
|
||
(list go-github-com-golang-mock
|
||
go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list 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-sqs
|
||
go-github-com-golang-mock
|
||
go-github-com-gorilla-websocket
|
||
go-github-com-miekg-dns
|
||
go-github-com-pion-ice-v2
|
||
go-github-com-pion-sdp-v3
|
||
go-github-com-pion-stun-v3
|
||
go-github-com-pion-transport-v2
|
||
go-github-com-pion-webrtc-v3
|
||
go-github-com-prometheus-client-golang
|
||
go-github-com-realclientip-realclientip-go
|
||
go-github-com-refraction-networking-utls
|
||
go-github-com-smartystreets-goconvey
|
||
go-github-com-stretchr-testify
|
||
go-github-com-txthinking-socks5
|
||
go-github-com-xtaci-kcp-go-v5
|
||
go-github-com-xtaci-smux
|
||
go-gitlab-torproject-org-tpo-anti-censorship-geoip
|
||
go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
|
||
go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil
|
||
go-golang-org-x-crypto
|
||
go-golang-org-x-net
|
||
go-golang-org-x-sys))
|
||
(home-page
|
||
"https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake")
|
||
(synopsis "Pluggable Transport using WebRTC, inspired by Flashproxy")
|
||
(description
|
||
"Pluggable Transport using @code{WebRTC}, inspired by Flashproxy and
|
||
adheres to the pluggable transports v2.1 Go AP.
|
||
This package provides:
|
||
@itemize
|
||
@item @code{broker} contains code for the Snowflake broker
|
||
@item @code{doc} contains Snowflake documentation and manpages
|
||
@item @code{client} contains the Tor pluggable transport client and client
|
||
library code
|
||
@item @code{common} contains generic libraries used by multiple pieces of
|
||
Snowflake
|
||
@item @code{proxy} contains code for the Go standalone Snowflake proxy
|
||
@item @code{probetest} contains code for a NAT probetesting service
|
||
@item @code{server} contains the Tor pluggable transport server and server
|
||
library code
|
||
@end itemize")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel
|
||
(package
|
||
(name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel")
|
||
(version "0.0.0-20240711104640-e64b1b3562f3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0nvd0qp1mdy7w32arnkhghxm5k2g6gy33cxlarxc6vdm4yh6v5nv"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel"))
|
||
(propagated-inputs
|
||
(list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib))
|
||
(home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
|
||
(synopsis "Go WebTunnel Pluggable Transport")
|
||
(description
|
||
"WebTunnel is a Go Pluggable Transport that attempts to imitate web
|
||
browsing activities based on HTTP Upgrade (HTTPT).")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public go-go-opentelemetry-io-otel
|
||
(package
|
||
(name "go-go-opentelemetry-io-otel")
|
||
(version "1.30.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/open-telemetry/opentelemetry-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0mpkwz2ryah5j2fb835pdw9084nwhr6fj3jig2mnvwwnsymp2bvy"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Submodules with their own go.mod files and packed as separated
|
||
;; packages:
|
||
(for-each
|
||
delete-file-recursively
|
||
;; Do not sort the list, it needs to be formatted with
|
||
;; the longest path to go.mod first, shell snippet to
|
||
;; produce the list:
|
||
;; find . -type f -name go.mod -printf "%d %p\n" | sort -rn
|
||
(list "exporters/otlp/otlptrace/otlptracehttp"
|
||
"exporters/otlp/otlptrace/otlptracegrpc"
|
||
"exporters/otlp/otlpmetric/otlpmetrichttp"
|
||
"exporters/otlp/otlpmetric/otlpmetricgrpc"
|
||
"exporters/otlp/otlplog/otlploghttp"
|
||
"exporters/otlp/otlplog/otlploggrpc"
|
||
"exporters/stdout/stdouttrace"
|
||
"exporters/stdout/stdoutmetric"
|
||
"exporters/stdout/stdoutlog"
|
||
"exporters/otlp/otlptrace"
|
||
"sdk/metric"
|
||
"sdk/log"
|
||
"internal/tools"
|
||
"exporters/zipkin"
|
||
"exporters/prometheus"
|
||
"example/zipkin"
|
||
"example/prometheus"
|
||
"example/passthrough"
|
||
"example/otel-collector"
|
||
"example/opencensus"
|
||
"example/namedtracer"
|
||
"example/dice"
|
||
"bridge/opentracing"
|
||
"bridge/opencensus"
|
||
;; "trace" - introduces a cycle, keep it
|
||
"sdk"
|
||
"schema"
|
||
;; "metric" - introduces a cycle, keep it
|
||
"log"))))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "go.opentelemetry.io/otel"
|
||
;; Error: Both arguments must be pointers.
|
||
#:test-flags #~(list "-skip" "TestTraceProviderDelegatesSameInstance")))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-go-logr-logr
|
||
go-github-com-go-logr-stdr
|
||
go-github-com-google-go-cmp))
|
||
(home-page "https://opentelemetry.io/")
|
||
(synopsis "OpenTelemetry implementation for Golang")
|
||
(description
|
||
"Package otel provides global access to the @code{OpenTelemetry} API.
|
||
The subpackages of the otel package provide an implementation of the
|
||
@code{OpenTelemetry} API. This package contains 3 Golang modules:
|
||
go.opentelemetry.io/otel, go.opentelemetry.io/otel/metric and
|
||
go.opentelemetry.io/otel/trace.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-go-opentelemetry-io-otel-log
|
||
(package
|
||
(name "go-go-opentelemetry-io-otel-log")
|
||
(version "0.9.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/open-telemetry/opentelemetry-go")
|
||
(commit (go-version->git-ref version
|
||
#:subdir "log"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
|
||
(modules '((guix build utils)
|
||
(ice-9 ftw)
|
||
(srfi srfi-26)))
|
||
(snippet
|
||
#~(begin
|
||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||
;; Consider to implement it as re-usable procedure in
|
||
;; guix/build/utils or guix/build-system/go.
|
||
(define (delete-all-but directory . preserve)
|
||
(define (directory? x)
|
||
(and=> (stat x #f)
|
||
(compose (cut eq? 'directory <>) stat:type)))
|
||
(with-directory-excursion directory
|
||
(let* ((pred
|
||
(negate (cut member <> (append '("." "..") preserve))))
|
||
(items (scandir "." pred)))
|
||
(for-each (lambda (item)
|
||
(if (directory? item)
|
||
(delete-file-recursively item)
|
||
(delete-file item)))
|
||
items))))
|
||
(delete-all-but "." "log")))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "go.opentelemetry.io/otel/log"
|
||
#:unpack-path "go.opentelemetry.io/otel"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-go-logr-logr
|
||
go-go-opentelemetry-io-otel))
|
||
(home-page "https://go.opentelemetry.io/otel")
|
||
(synopsis "OpenTelemetry Logs API")
|
||
(description
|
||
"This package is intended to be used by bridges between existing logging
|
||
libraries and OpenTelemetry. Users should not directly use this package as a
|
||
logging library. Instead, install one of the bridges listed in the
|
||
[registry], and use the associated logging library.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-go-opentelemetry-io-otel-sdk
|
||
(package
|
||
(name "go-go-opentelemetry-io-otel-sdk")
|
||
(version "1.33.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/open-telemetry/opentelemetry-go")
|
||
(commit (go-version->git-ref version #:subdir "sdk"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
|
||
(modules '((guix build utils)
|
||
(ice-9 ftw)
|
||
(srfi srfi-26)))
|
||
(snippet
|
||
#~(begin
|
||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||
;; Consider to implement it as re-usable procedure in
|
||
;; guix/build/utils or guix/build-system/go.
|
||
(define (delete-all-but directory . preserve)
|
||
(define (directory? x)
|
||
(and=> (stat x #f)
|
||
(compose (cut eq? 'directory <>) stat:type)))
|
||
(with-directory-excursion directory
|
||
(let* ((pred
|
||
(negate (cut member <> (append '("." "..") preserve))))
|
||
(items (scandir "." pred)))
|
||
(for-each (lambda (item)
|
||
(if (directory? item)
|
||
(delete-file-recursively item)
|
||
(delete-file item)))
|
||
items))))
|
||
(delete-all-but "." "sdk")
|
||
(delete-file-recursively "sdk/log")
|
||
(delete-file-recursively "sdk/metric")))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "go.opentelemetry.io/otel/sdk"
|
||
#:unpack-path "go.opentelemetry.io/otel"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-go-logr-logr
|
||
go-github-com-google-go-cmp
|
||
go-github-com-google-uuid
|
||
go-go-opentelemetry-io-otel
|
||
go-golang-org-x-sys))
|
||
(home-page "https://opentelemetry.io/")
|
||
(synopsis "OpenTelemetry Golang SDK")
|
||
(description
|
||
"This package provides OpenTelemetry Otel SDK.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-go-opentelemetry-io-otel-sdk-log
|
||
(package
|
||
(name "go-go-opentelemetry-io-otel-sdk-log")
|
||
(version "0.9.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/open-telemetry/opentelemetry-go")
|
||
(commit (go-version->git-ref version
|
||
#:subdir "sdk/log"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
|
||
(modules '((guix build utils)
|
||
(ice-9 ftw)
|
||
(srfi srfi-26)))
|
||
(snippet
|
||
#~(begin
|
||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||
;; Consider to implement it as re-usable procedure in
|
||
;; guix/build/utils or guix/build-system/go.
|
||
(define (delete-all-but directory . preserve)
|
||
(define (directory? x)
|
||
(and=> (stat x #f)
|
||
(compose (cut eq? 'directory <>) stat:type)))
|
||
(with-directory-excursion directory
|
||
(let* ((pred
|
||
(negate (cut member <> (append '("." "..") preserve))))
|
||
(items (scandir "." pred)))
|
||
(for-each (lambda (item)
|
||
(if (directory? item)
|
||
(delete-file-recursively item)
|
||
(delete-file item)))
|
||
items))))
|
||
(delete-all-but "sdk" "log")
|
||
(delete-all-but "." "sdk")))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "go.opentelemetry.io/otel/sdk/log"
|
||
#:unpack-path "go.opentelemetry.io/otel"))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-go-logr-logr
|
||
go-github-com-go-logr-stdr
|
||
go-github-com-google-go-cmp
|
||
go-go-opentelemetry-io-otel-log
|
||
go-go-opentelemetry-io-otel-sdk))
|
||
(home-page "https://go.opentelemetry.io/otel")
|
||
(synopsis "OpenTelemetry Log SDK library")
|
||
(description "Package log provides the @code{OpenTelemetry} Logs SDK.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-go-opentelemetry-io-otel-sdk-metric
|
||
(package
|
||
(name "go-go-opentelemetry-io-otel-sdk-metric")
|
||
(version "1.33.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/open-telemetry/opentelemetry-go")
|
||
(commit (go-version->git-ref version
|
||
#:subdir "sdk/metric"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
|
||
(modules '((guix build utils)
|
||
(ice-9 ftw)
|
||
(srfi srfi-26)))
|
||
(snippet
|
||
#~(begin
|
||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||
;; Consider to implement it as re-usable procedure in
|
||
;; guix/build/utils or guix/build-system/go.
|
||
(define (delete-all-but directory . preserve)
|
||
(define (directory? x)
|
||
(and=> (stat x #f)
|
||
(compose (cut eq? 'directory <>) stat:type)))
|
||
(with-directory-excursion directory
|
||
(let* ((pred
|
||
(negate (cut member <> (append '("." "..") preserve))))
|
||
(items (scandir "." pred)))
|
||
(for-each (lambda (item)
|
||
(if (directory? item)
|
||
(delete-file-recursively item)
|
||
(delete-file item)))
|
||
items))))
|
||
(delete-all-but "sdk" "metric")
|
||
(delete-all-but "." "sdk")))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "go.opentelemetry.io/otel/sdk/metric"
|
||
#:unpack-path "go.opentelemetry.io/otel"
|
||
#:test-flags
|
||
#~(list "-skip" (string-join
|
||
(list "TestGlobalInstRegisterCallback"
|
||
"TestMeterProviderDelegation")
|
||
"|"))))
|
||
(native-inputs
|
||
(list go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-go-logr-logr
|
||
go-github-com-go-logr-stdr
|
||
go-github-com-google-go-cmp
|
||
go-go-opentelemetry-io-otel
|
||
go-go-opentelemetry-io-otel-sdk))
|
||
(home-page "https://go.opentelemetry.io/otel")
|
||
(synopsis "OpenTelemetry Metric SDK library")
|
||
(description
|
||
"Package metric provides an implementation of the @code{OpenTelemetry}
|
||
metrics SDK.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-golang-org-x-oauth2
|
||
(package
|
||
(name "go-golang-org-x-oauth2")
|
||
(version "0.23.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://go.googlesource.com/oauth2")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "00r6qryh9nfnfq8q8h12hvqp0mhflhl68qyknrmzmw5ww52ghm9b"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "golang.org/x/oauth2"))
|
||
(propagated-inputs
|
||
(list go-cloud-google-com-go-compute-metadata
|
||
go-github-com-google-go-cmp))
|
||
(home-page "https://go.googlesource.com/oauth2")
|
||
(synopsis "Client implementation of the OAuth 2.0 spec")
|
||
(description
|
||
"This package contains a client implementation for OAuth 2.0
|
||
spec in Go.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-golang-zx2c4-com-wireguard
|
||
(package
|
||
(name "go-golang-zx2c4-com-wireguard")
|
||
(version "0.0.0-20231211153847-12269c276173")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
;; NOTE: module URL is a redirect
|
||
;; target: git.zx2c4.com/wireguard-go
|
||
;; source: golang.zx2c4.com/wireguard
|
||
(uri (git-reference
|
||
(url "https://git.zx2c4.com/wireguard-go/")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1fbc6m0ahifhrd6jdrpdxi8l3b2slpp8fmv20kpq2yzz19vzzgkf"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "golang.zx2c4.com/wireguard"
|
||
#: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"
|
||
;; "./tune/..." ; Requires gvisor.dev/gvisor, not packed yet
|
||
"./"
|
||
"./conn/..."
|
||
"./device/..."
|
||
"./ipc/..."
|
||
"./ratelimiter/..."
|
||
"./replay/..."
|
||
"./rwcancel/..."
|
||
"./tai64n/..."))))))))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-crypto
|
||
go-golang-org-x-net
|
||
go-golang-org-x-sys))
|
||
(home-page "https://git.zx2c4.com/wireguard")
|
||
(synopsis "Implementation of WireGuard in Go")
|
||
(description "This package is a Go Implementation of WireGuard.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-gopkg-in-go-jose-go-jose-v2
|
||
(package
|
||
(inherit go-github-com-go-jose-go-jose-v3)
|
||
(name "go-gopkg-in-go-jose-go-jose-v2")
|
||
(version "2.6.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-jose/go-jose")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0frg4g9gyqdgf7h0xai9771a47ndb0zqbw0rp5yk0dswsq1vk4kq"))))
|
||
(arguments
|
||
(substitute-keyword-arguments
|
||
(package-arguments go-github-com-go-jose-go-jose-v3)
|
||
((#:import-path _) "gopkg.in/go-jose/go-jose.v2")))
|
||
(propagated-inputs
|
||
(list go-golang-org-x-crypto
|
||
go-gopkg-in-alecthomas-kingpin-v2))))
|
||
|
||
;; This to satisfy alternative import path.
|
||
(define-public go-gopkg-in-jcmturner-rpc-v1
|
||
(package
|
||
(inherit go-github-com-jcmturner-rpc)
|
||
(name "go-gopkg-in-jcmturner-rpc-v1")
|
||
(arguments
|
||
(substitute-keyword-arguments
|
||
(package-arguments go-github-com-jcmturner-rpc)
|
||
((#:import-path _) "gopkg.in/jcmturner/rpc.v1")))))
|
||
|
||
;; This to satisfy alternative import path.
|
||
(define-public go-gopkg-in-jcmturner-rpc-v2
|
||
(package
|
||
(inherit go-github-com-jcmturner-rpc-v2)
|
||
(name "go-gopkg-in-jcmturner-rpc-v2")
|
||
(arguments
|
||
(substitute-keyword-arguments
|
||
(package-arguments go-github-com-jcmturner-rpc-v2)
|
||
((#:tests? _ #t) #f)
|
||
((#:import-path _) "gopkg.in/jcmturner/rpc.v2")))))
|
||
|
||
(define-public go-k8s-io-kube-openapi
|
||
(package
|
||
(name "go-k8s-io-kube-openapi")
|
||
(version "0.0.0-20241212222426-2c72e554b1e7")
|
||
;; XXX: Unbundle third_party in pkg.
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/kubernetes/kube-openapi")
|
||
(commit (go-version->git-ref version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0crd349jd210bh68ic70pqmdkfns7cix2qhsa6pfya6kbvschyf9"))
|
||
;; XXX: test/integration contains submodule with it's own go.mod.
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(begin
|
||
;; Keeping just testdata.
|
||
(for-each delete-file-recursively
|
||
(list "test/integration/builder"
|
||
"test/integration/builder3"
|
||
"test/integration/openapiconv"
|
||
"test/integration/pkg/generated"
|
||
"test/integration/testutil"
|
||
"test/integration/import.go"
|
||
"test/integration/integration_suite_test.go"))))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:go go-1.23
|
||
#:import-path "k8s.io/kube-openapi"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(delete 'build)))) ; no go files in project's root
|
||
(native-inputs
|
||
(list go-github-com-getkin-kin-openapi
|
||
go-github-com-google-gofuzz
|
||
go-github-com-onsi-ginkgo-v2
|
||
go-github-com-onsi-gomega
|
||
go-github-com-stretchr-testify))
|
||
(propagated-inputs
|
||
(list go-github-com-emicklei-go-restful-v3
|
||
go-github-com-go-openapi-jsonreference
|
||
go-github-com-go-openapi-swag
|
||
go-github-com-google-gnostic-models
|
||
go-github-com-google-go-cmp
|
||
go-github-com-google-uuid
|
||
go-github-com-munnerz-goautoneg
|
||
go-github-com-nytimes-gziphandler
|
||
go-github-com-spf13-pflag
|
||
go-golang-org-x-tools
|
||
go-google-golang-org-protobuf
|
||
go-gopkg-in-yaml-v3
|
||
go-k8s-io-gengo-v2
|
||
go-k8s-io-klog-v2
|
||
go-k8s-io-utils
|
||
go-sigs-k8s-io-json
|
||
go-sigs-k8s-io-structured-merge-diff-v4
|
||
go-sigs-k8s-io-yaml))
|
||
(home-page "https://github.com/kubernetes/kube-openapi")
|
||
(synopsis "Kubernetes OpenAPI spec generation & serving")
|
||
(description
|
||
"This package implements a Kubernetes OpenAPI discovery spec generation,
|
||
providing support a subset of OpenAPI features to satisfy kubernetes use-cases
|
||
but implement that subset with little to no assumption about the structure of
|
||
the code or routes.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-modernc-org-httpfs
|
||
(package
|
||
(name "go-modernc-org-httpfs")
|
||
(version "1.0.6")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://gitlab.com/cznic/httpfs")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "01q5rvhxmrd45h0ljh4185wlly7rxv6vvh28d2shsyan4nj67zf1"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "modernc.org/httpfs"))
|
||
(home-page "https://gitlab.com/cznic/httpfs")
|
||
(synopsis "HTTP file system implementation in Golang")
|
||
(description
|
||
"Package httpfs implements @code{http.FileSystem} on top of a
|
||
@code{map[string]string}.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-modernc-org-token
|
||
(package
|
||
(name "go-modernc-org-token")
|
||
(version "1.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://gitlab.com/cznic/token")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1vvnnfppmgq7hxmw18dx90fg6khwnxpwn9kwwf0hwxsckxfb5icv"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "modernc.org/token"))
|
||
(home-page "https://modernc.org/token")
|
||
(synopsis "Variant of the Golang stdlib package @code{token}")
|
||
(description
|
||
"Package token is variant of the stdlib package token with types
|
||
@code{FileSet} and Token removed.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-mvdan-cc-xurls-v2
|
||
(package
|
||
(name "go-mvdan-cc-xurls-v2")
|
||
(version "2.5.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mvdan/xurls")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1516hwlxbnhdca56qy7sx9h2n5askq6ddqpqyp3f5rvmzdkxf4zn"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "mvdan.cc/xurls/v2"
|
||
#:test-flags #~(list "-skip" "TestScript/version")))
|
||
(propagated-inputs
|
||
(list go-github-com-rogpeppe-go-internal
|
||
go-golang-org-x-mod
|
||
go-golang-org-x-sync))
|
||
(home-page "https://mvdan.cc/xurls/v2/")
|
||
(synopsis "Extracts URLs from text")
|
||
(description
|
||
"Xurls extracts urls from plain text using regular expressions. It can
|
||
be used as both a binary and a library.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public go-nhooyr-io-websocket
|
||
(package
|
||
(name "go-nhooyr-io-websocket")
|
||
(version "1.8.11")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/nhooyr/websocket")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "019pm2bkzwyvzl61127nqzihchk35q5xh57wy50aa2syn9214fxm"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
;; Tests require additional dependencies like `wasmbrowsertest`.
|
||
#:tests? #f
|
||
#:import-path "nhooyr.io/websocket"))
|
||
(home-page "https://nhooyr.io/websocket")
|
||
(synopsis "Minimal and idiomatic WebSocket library for Go")
|
||
(description
|
||
"Package websocket implements the
|
||
@@url{https://rfc-editor.org/rfc/rfc6455.html,RFC 6455} @code{WebSocket}
|
||
protocol.")
|
||
(license license:isc)))
|
||
|
||
;;;
|
||
;;; Executables:
|
||
;;;
|
||
|
||
(define-public go-jose-util
|
||
(package
|
||
(name "go-jose-util")
|
||
(version "0.0.0-20240226165647-31202557b449")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/go-jose/go-jose")
|
||
(commit (go-version->git-ref version
|
||
#:subdir "jose-util"))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "19kr2r9nnrnixpmpp37p5adnxc92bc3gzqz7rpybgaly2wfssz0q"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:install-source? #f
|
||
#:import-path "github.com/go-jose/go-jose/jose-util"
|
||
#:unpack-path "github.com/go-jose/go-jose"))
|
||
(native-inputs
|
||
(list go-github-com-go-jose-go-jose-v3
|
||
go-gopkg-in-alecthomas-kingpin-v2))
|
||
(home-page "https://github.com/go-jose/go-jose")
|
||
(synopsis "JOSE CLI")
|
||
(description
|
||
"The @code{jose-util} command line utility allows for encryption,
|
||
decryption,signing and verification of JOSE messages. Its main purpose is to
|
||
facilitate dealing with JOSE messages when testing or debugging.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public go-gojay
|
||
(package
|
||
(inherit go-github-com-francoispqt-gojay)
|
||
(name "go-gojay")
|
||
(arguments
|
||
(list
|
||
#:tests? #f ; already tested in the library
|
||
#:install-source? #f
|
||
#:import-path "github.com/francoispqt/gojay/gojay"
|
||
#:unpack-path "github.com/francoispqt/gojay"))
|
||
(description
|
||
"This package provides a command line tool to generate gojay's marshaling
|
||
and unmarshaling interface implementation for custom struct type(s).")))
|
||
|
||
(define-public go-gqlclient
|
||
(package
|
||
(inherit go-git-sr-ht-emersion-gqlclient)
|
||
(name "go-gqlclient")
|
||
(arguments
|
||
(substitute-keyword-arguments
|
||
(package-arguments go-git-sr-ht-emersion-gqlclient)
|
||
((#:tests? _ #t) #f)
|
||
((#:install-source? _ #t) #f)
|
||
((#:phases _ '%standard-phases)
|
||
#~(modify-phases %standard-phases
|
||
(replace 'build
|
||
(lambda arguments
|
||
(for-each
|
||
(lambda (cmd)
|
||
(apply (assoc-ref %standard-phases 'build)
|
||
`(,@arguments #:import-path ,cmd)))
|
||
(list "git.sr.ht/~emersion/gqlclient/cmd/gqlclient"
|
||
"git.sr.ht/~emersion/gqlclient/cmd/gqlclientgen"
|
||
"git.sr.ht/~emersion/gqlclient/cmd/gqlintrospect"))))
|
||
(replace 'install
|
||
(lambda arguments
|
||
(for-each
|
||
(lambda (cmd)
|
||
(apply (assoc-ref %standard-phases 'install)
|
||
`(,@arguments #:import-path ,cmd)))
|
||
(list "git.sr.ht/~emersion/gqlclient/cmd/gqlclient"
|
||
"git.sr.ht/~emersion/gqlclient/cmd/gqlclientgen"
|
||
"git.sr.ht/~emersion/gqlclient/cmd/gqlintrospect"))))))))
|
||
(description
|
||
"This package provides command line tools: @code{gqlclient},
|
||
@code{gqlclientgen}, and @code{gqlintrospect}. For the Golang libriray, see
|
||
go-git-sr-ht-emersion-gqlclient package.")))
|
||
|
||
(define-public go-html2text
|
||
(package
|
||
(inherit go-github-com-jaytaylor-html2text)
|
||
(name "go-html2text")
|
||
(arguments
|
||
(list
|
||
#:install-source? #f
|
||
#:import-path "github.com/jaytaylor/html2text/cmd/html2text"
|
||
#:unpack-path "github.com/jaytaylor/html2text"))
|
||
(native-inputs
|
||
(list go-github-com-pborman-getopt))
|
||
(description
|
||
(string-append (package-description go-github-com-jaytaylor-html2text)
|
||
" This package provides an command line interface (CLI)
|
||
tool."))))
|
||
|
||
(define-public go-madns
|
||
(package
|
||
(inherit go-github-com-multiformats-go-multiaddr-dns)
|
||
(name "go-madns")
|
||
(arguments
|
||
(substitute-keyword-arguments
|
||
(package-arguments go-github-com-multiformats-go-multiaddr-dns)
|
||
((#:install-source? _ #t) #f)
|
||
((#:import-path _ "github.com/multiformats/go-multiaddr-dns")
|
||
"github.com/multiformats/go-multiaddr-dns/madns")))
|
||
(description
|
||
"This package provides a CLI binary executible built from
|
||
go-github-com-multiformats-go-multiaddr-dns.")))
|
||
|
||
(define-public go-minify
|
||
(package
|
||
(inherit go-github-com-tdewolff-minify-v2)
|
||
(name "go-minify")
|
||
(arguments
|
||
(list
|
||
#:install-source? #f
|
||
#:tests? #f ; tested in the library
|
||
#:import-path "github.com/tdewolff/minify/cmd/minify"
|
||
#:unpack-path "github.com/tdewolff/minify"))
|
||
(description "This package provides a CLI binary executible built from
|
||
go-github-com-tdewolff-minify-v2 source.")))
|
||
|
||
(define-public gron
|
||
(package
|
||
(name "gron")
|
||
(version "0.7.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/tomnomnom/gron")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1sj34b6yv0qigy3aq7qmwf8bqxp1a8qh9p10lzkpw58s1c0iyh36"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:install-source? #f
|
||
#:import-path "github.com/tomnomnom/gron"))
|
||
(native-inputs
|
||
(list go-github-com-fatih-color
|
||
go-github-com-mattn-go-colorable
|
||
go-github-com-nwidger-jsoncolor
|
||
go-github-com-pkg-errors))
|
||
(home-page "https://github.com/tomnomnom/gron")
|
||
(synopsis "Transform JSON to make it easier to grep")
|
||
(description
|
||
"This package transforms JSON into discrete assignments to make it easier
|
||
to use line-based tools such as grep to search for what you want and see the
|
||
absolute \"path\" to it.")
|
||
(license license:expat)))
|
||
|
||
(define-public xurls
|
||
(package
|
||
(inherit go-mvdan-cc-xurls-v2)
|
||
(name "xurls")
|
||
(arguments
|
||
(list
|
||
#:import-path "mvdan.cc/xurls/v2/cmd/xurls"
|
||
#:unpack-path "mvdan.cc/xurls/v2"
|
||
#:install-source? #f
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'disable-failing-tests
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(delete-file "testdata/script/version.txtar")))))))))
|
||
|
||
;;;
|
||
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
||
;;; of a merge conflict, place them above by existing packages with similar
|
||
;;; functionality or similar names.
|
||
;;;
|