aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/golang.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r--gnu/packages/golang.scm459
1 files changed, 452 insertions, 7 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 5a53838435..cbd4bafd20 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -25,7 +25,7 @@
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
-;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@mgail.com>
+;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@mgail.com>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 jgart <jgart@dismail.de>
@@ -74,6 +74,7 @@
#:use-module (gnu packages base)
#:use-module ((gnu packages bootstrap) #:select (glibc-dynamic-linker))
#:use-module (gnu packages check)
+ #:use-module (gnu packages fonts)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
@@ -2112,6 +2113,54 @@ lists (Apple XML, Apple Binary, OpenStep, and GNUStep) from/to arbitrary Go
types.")
(license license:giftware))))
+(define-public go-github-com-bitly-go-hostpool
+ (package
+ (name "go-github-com-bitly-go-hostpool")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bitly/go-hostpool")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1iibj7dwymczw7cknrh6glc6sdpp4yap2plnyr8qphynwrzlz73w"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/bitly/go-hostpool"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/bitly/go-hostpool")
+ (synopsis "Pool among multiple hosts from Golang")
+ (description
+ "This package provides a Go package to intelligently and flexibly pool among
+multiple hosts from your Go application. Host selection can operate in round
+robin or epsilon greedy mode, and unresponsive hosts are avoided.")
+ (license license:expat)))
+
+(define-public go-github-com-bitly-timer-metrics
+ (package
+ (name "go-github-com-bitly-timer-metrics")
+ (version "1.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bitly/timer_metrics")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "02fhx8hx8126m2cgxw9fm8q2401r7zfann8b5zy5yyark1sgkrb4"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/bitly/timer_metrics"))
+ (home-page "https://github.com/bitly/timer_metrics")
+ (synopsis "Capture timings and enable periodic metrics every @var{n} events")
+ (description
+ "This package provides an efficient way to capture timing information and
+periodically output metrics")
+ (license license:expat)))
+
(define-public go-github-com-blanu-dust
(package
(name "go-github-com-blanu-dust")
@@ -2437,6 +2486,132 @@ the golang proxy package which connects through a TURN relay. It provides
parsing and encoding support for STUN and TURN protocols.")
(license license:bsd-3))))
+(define-public go-github-com-flopp-go-findfont
+ (package
+ (name "go-github-com-flopp-go-findfont")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/flopp/go-findfont")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05jvs5sw6yid0qr2ld7aw0n1mjp47jxhvbg9lsdig86668i2fj2q"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/flopp/go-findfont"))
+ (home-page "https://github.com/flopp/go-findfont")
+ (synopsis "go-findfont")
+ (description
+ "This package provides a platform-agnostic Go library to locate
+TrueType font files in your system's user and system font directories.")
+ (license license:expat)))
+
+(define-public go-github-com-phpdave11-gofpdi
+ (package
+ (name "go-github-com-phpdave11-gofpdi")
+ (version "1.0.13")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/phpdave11/gofpdi")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "01r8a3k2d48fxmhyvix0ry2dc1z5xankd14yxlm496a26vfnc9nq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/phpdave11/gofpdi"
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-source
+ (lambda _
+ (substitute* (find-files "." "writer\\.go$")
+ (("%s-%s") "%d-%s")))))))
+ (propagated-inputs (list go-github-com-pkg-errors))
+ (home-page "https://github.com/phpdave11/gofpdi")
+ (synopsis "PDF document importer")
+ (description
+ "gofpdi allows you to import an existing PDF into a new PDF.")
+ (license license:expat)))
+
+(define-public go-github-com-signintech-gopdf
+ (package
+ (name "go-github-com-signintech-gopdf")
+ (version "0.18.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/signintech/gopdf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jf8a896qh871mdr1i7f0fdpqki5pkk1sp6p5dq404zqxpd7lq5l"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/signintech/gopdf"))
+ (propagated-inputs (list go-github-com-pkg-errors
+ go-github-com-phpdave11-gofpdi))
+ (home-page "https://github.com/signintech/gopdf")
+ (synopsis "Generating PDF documents")
+ (description "gopdf is a Go library for generating PDF documents.")
+ (license license:expat)))
+
+(define-public go-github-com-wraparound-wrap
+ (package
+ (name "go-github-com-wraparound-wrap")
+ (version "0.3.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Wraparound/wrap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0scf7v83p40r9k7k5v41rwiy9yyanfv3jm6jxs9bspxpywgjrk77"))
+ (patches (search-patches
+ "go-github-com-wraparound-wrap-free-fonts.patch"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/Wraparound/wrap/"
+ #:tests? #f ; no tests
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key import-path #:allow-other-keys)
+ (invoke "go" "install" "-v" "-x"
+ "-ldflags=-s -w"
+ (string-append import-path "cmd/wrap"))))
+ (add-after 'wrap 'wrap-fonts
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (for-each
+ (lambda (program)
+ (wrap-program program
+ `("XDG_DATA_DIRS" suffix
+ ,(map dirname
+ (search-path-as-list '("share/fonts")
+ (map cdr inputs))))))
+ (find-files (string-append (assoc-ref outputs "out")
+ "/bin"))))))))
+ (propagated-inputs (list go-github-com-spf13-cobra
+ go-github-com-signintech-gopdf
+ go-github-com-flopp-go-findfont))
+ (inputs (list font-liberation font-gnu-freefont))
+ (home-page "https://github.com/Wraparound/wrap")
+ (synopsis "Format Fountain screenplays")
+ (description
+ "Wrap is a command line tool that is able to convert Fountain files into a
+correctly formatted screen- or stageplay as an HTML or a PDF. It supports
+standard Fountain, but also has some custom syntax extensions such as
+translated keywords and acts.")
+ (license license:gpl3)))
+
(define-public go-torproject-org-pluggable-transports-goptlib
(package
(name "go-torproject-org-pluggable-transports-goptlib")
@@ -3135,6 +3310,55 @@ web framework
sunset times from geographical coordinates and a date.")
(license license:expat))))
+(define-public go-github-com-nsqio-go-diskqueue
+ (package
+ (name "go-github-com-nsqio-go-diskqueue")
+ (version "1.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nsqio/go-diskqueue")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1hp66hkmfn0nyf3c53a40f94ah11a9rj01r5zp3jph9p54j8rany"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/nsqio/go-diskqueue"))
+ (home-page "https://github.com/nsqio/go-diskqueue")
+ (synopsis "Go package providing a file system backed FIFO queue")
+ (description
+ "The @code{diskqueue} Go package provides a file system backed FIFO
+queue.")
+ (license license:expat)))
+
+(define-public go-github-com-nsqio-go-nsq
+ (package
+ (name "go-github-com-nsqio-go-nsq")
+ (version "1.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nsqio/go-nsq")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1h9z3z225sdgg7fl3l7x11xn5ch6lm5flgmcj046cdp453qj2qhf"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:tests? #f ;tests require networking
+ #:import-path "github.com/nsqio/go-nsq"))
+ (propagated-inputs (list go-github-com-golang-snappy))
+ (home-page "https://github.com/nsqio/go-nsq")
+ (synopsis "Consumer/producer library for NSQ")
+ (description
+ "The @code{nsq} Go module provides a high-level @code{Consumer} and
+@code{Producer} types as well as low-level functions to communicate over the
+NSQ protocol @url{https://nsq.io/}.")
+ (license license:expat)))
+
(define-public go-github-com-hebcal-gematriya
(let ((commit "fe3043f73e415eb82727701d10f2fb40f87675e9")
(revision "0"))
@@ -3420,6 +3644,32 @@ per-goroutine.")
(description "The @code{walker} function is a faster, parallel version, of
@code{filepath.Walk}")))
+(define-public go-github-com-tdewolff-hasher
+ (package
+ (name "go-github-com-tdewolff-hasher")
+ (version "0.0.0-20210521220142-bc97f602bca2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tdewolff/hasher")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "12dmxpmdy2z7c2z7qv2mv2aq4hyvjncb6fzr0ymg3y5bfjvl4dcw"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/tdewolff/hasher"))
+ (native-inputs
+ (list go-github-com-cespare-mph
+ go-github-com-dgryski-go-mph))
+ (home-page "https://github.com/tdewolff/hasher")
+ (synopsis "Go known-keys fast-lookup map generator")
+ (description
+ "Hasher is a tool to automate the creation of methods and tables for a
+@code{string} to @code{uint32} mapper.")
+ (license license:bsd-3)))
+
(define-public go-github-com-tdewolff-minify-v2
(package
(name "go-github-com-tdewolff-minify-v2")
@@ -3435,11 +3685,24 @@ per-goroutine.")
"0h006wpfkl0ls0skqxblwcanrhmphgq5q0ii26l2ayh7s99cgmy3"))))
(build-system go-build-system)
(arguments
- (list #:import-path "github.com/tdewolff/minify/v2"))
+ (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")))
+ '("css" "html" "svg")))))))
(propagated-inputs
(list go-github-com-tdewolff-parse-v2))
(native-inputs
- (list go-github-com-tdewolff-test))
+ (list go-github-com-tdewolff-hasher
+ go-github-com-tdewolff-test))
(home-page "https://go.tacodewolff.nl/minify")
(synopsis "Go minifiers for web formats")
(description
@@ -3462,9 +3725,22 @@ an interface to implement any other minifier.")
"1dqki9ima079k9a3l72igmx5dml8qsl9z8rzw8a433f4gjhlv320"))))
(build-system go-build-system)
(arguments
- (list #:import-path "github.com/tdewolff/parse/v2"))
+ (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-test))
+ (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
@@ -5263,6 +5539,54 @@ run programs as a service using a variety of supervisors, including systemd,
SysVinit, and more.")
(license license:zlib))))
+(define-public go-github-com-dgryski-go-metro
+ (package
+ (name "go-github-com-dgryski-go-metro")
+ (version "0.0.0-20211217172704-adc40b04c140")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dgryski/go-metro")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16y5vc5qf7aipi8basqza8l939hlmp7wqsv4y6gsqac3sp9ziqyj"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/dgryski/go-metro"))
+ (home-page "https://github.com/dgryski/go-metro")
+ (synopsis "Go translation of MetroHash")
+ (description
+ "This package provides a Go translation of the
+@url{https://github.com/jandrewrogers/MetroHash, reference C++ code for
+MetroHash}, a high quality, high performance hash algorithm.")
+ (license license:expat)))
+
+(define-public go-github-com-dgryski-go-mph
+ (package
+ (name "go-github-com-dgryski-go-mph")
+ (version "0.0.0-20211217222804-81a8625fb7ed")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dgryski/go-mph")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10q8l4jdzqf54bnnxka2jk6qzayri3ijv51knn1n0iimfric8w9g"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/dgryski/go-mph"))
+ (propagated-inputs
+ (list go-github-com-dgryski-go-metro))
+ (home-page "https://github.com/dgryski/go-mph")
+ (synopsis "Go minimal perfect hash function")
+ (description
+ "This package implements a hash/displace minimal perfect hash function.")
+ (license license:expat)))
+
(define-public go-github-com-docker-distribution
(let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329")
(revision "0"))
@@ -6225,6 +6549,57 @@ trivial @command{big.Int} encoding benchmark results in 6 times faster
encoding and 8 times faster decoding.")
(license license:expat))))
+(define-public go-github-com-mreiferson-go-options
+ (package
+ (name "go-github-com-mreiferson-go-options")
+ (version "1.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mreiferson/go-options")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1pxs9ybrh196qy14ijn4zn51h2z28lj31y6vxrz2xxhgvpmfmxyl"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/mreiferson/go-options"))
+ (home-page "https://github.com/mreiferson/go-options")
+ (synopsis "Go package to structure and resolve options")
+ (description
+ "The @code{options} Go package resolves configuration values set via
+command line flags, config files, and default struct values.")
+ (license license:expat)))
+
+(define-public go-github-com-mreiferson-go-svc
+ ;; NSQ specific fork of github.com/judwhite/go-svc, as Guix go build system
+ ;; does not support go.mod with `replace' statement.
+ (let ((commit "7a96e00010f68d9436e3de53a70c53f209a0c244")
+ (revision "0"))
+ (package
+ (name "go-github-com-mreiferson-go-svc")
+ (version (git-version "1.2.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mreiferson/go-svc")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1acgb0n3svhnraqj1fz5qc5n3b4vc5ffwyk9vfi6gcfkibm0hgmd"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/judwhite/go-svc"))
+ (propagated-inputs (list go-golang-org-x-sys))
+ (home-page "https://github.com/mreiferson/go-svc")
+ (synopsis "Go Windows Service wrapper for GNU/Linux")
+ (description
+ "Go Windows Service wrapper compatible with GNU/Linux. Windows tests
+@url{https://github.com/judwhite/go-svc/raw/master/svc/svc_windows_test.go,here}.")
+ (license license:expat))))
+
(define-public go-github-com-gxed-hashland-keccakpg
(let ((commit "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8")
(revision "0"))
@@ -7293,6 +7668,29 @@ non-UTF-friendly sources.")
encoding in Go.")
(license license:bsd-3)))
+(define-public go-github-com-cespare-mph
+ (package
+ (name "go-github-com-cespare-mph")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cespare/mph")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mvd6bkvf3i3555kqkkr3k9jd4c25scjq4xad35sxpny8f72nbg1"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/cespare/mph"))
+ (home-page "https://github.com/cespare/mph")
+ (synopsis "Minimal perfect hashing in Go")
+ (description
+ "@code{mph} is a Go package that implements a minimal perfect hash table
+over strings.")
+ (license license:expat)))
+
(define-public go-github-com-gdamore-tcell
(let ((commit "aaadc574a6ed8dc3abe56036ca130dcee1ee6b6e")
(version "1.1.2")
@@ -9002,6 +9400,30 @@ the library more lightweight.")
matching and globbing with support for \"doublestar\" patterns.")
(license license:expat)))
+(define-public go-github-com-bmizerany-perks-quantile
+ (package
+ (name "go-github-com-bmizerany-perks-quantile")
+ (version "0.0.0-20230307044200-03f9df79da1e")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bmizerany/perks")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1f2a99v3618bz2mf61iwhdjm3xi1gam6v4apqgcrz71gj7ba9943"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:unpack-path "github.com/bmizerany/perks"
+ #:import-path "github.com/bmizerany/perks/quantile"))
+ (home-page "https://github.com/bmizerany/perks")
+ (synopsis "Library for computing quantiles")
+ (description
+ "Perks contains the Go package @code{quantile} that computes approximate
+quantiles over an unbounded data stream within low memory and CPU bounds.")
+ (license license:bsd-2)))
+
(define-public go-github-com-dlclark-regexp2
(package
(name "go-github-com-dlclark-regexp2")
@@ -9861,6 +10283,29 @@ extensions.")
for color and styles.")
(license license:lgpl3)))
+(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-kevinburke-ssh-config
(package
(name "go-github-com-kevinburke-ssh-config")
@@ -11893,7 +12338,7 @@ dependencies and a simple API.")
(define-public go-github-com-arceliar-ironwood
(package
(name "go-github-com-arceliar-ironwood")
- (version "0.0.0-20210912013146-c2bc55bb349c")
+ (version "0.0.0-20221115123222-ec61cea2f439")
(source
(origin
(method git-fetch)
@@ -11903,7 +12348,7 @@ dependencies and a simple API.")
(file-name (git-file-name name version))
(sha256
(base32
- "1dfkqnkfxwlwcsk8g9r1pv84lfzgn8r1vam13zlmk81cgan2r6fx"))))
+ "0jdfhsr1yci0a4fpf2pmh9n4d7iryjx12y3549gv9nfjf91rs225"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/Arceliar/ironwood"