summaryrefslogtreecommitdiff
path: root/gnu/packages/golang-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/golang-xyz.scm')
-rw-r--r--gnu/packages/golang-xyz.scm561
1 files changed, 561 insertions, 0 deletions
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 3c95cf279b..820647cfdf 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -24362,6 +24362,209 @@ follows the GNU
Program Argument Syntax Conventions}.")
(license license:gpl3)))
+(define-public go-modernc-org-cc-v3
+ ;; XXX: Project distributes v2, v3, v4 and v5 as the same source without Golang
+ ;; subdir tags.
+ (package
+ (name "go-modernc-org-cc-v3")
+ (version "4.27.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/cc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hdaaksa2lkad6hfqxcmmmni8pagd8qd5w73gncrr45sj6cj5cg6"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/cc/v3"
+ #:unpack-path "modernc.org/cc"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-submodules
+ (lambda* (#:key unpack-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" unpack-path)
+ (for-each delete-file-recursively
+ (list "v2" "v4" "v5"))))))))
+ (native-inputs
+ (list go-github-com-dustin-go-humanize
+ go-github-com-google-go-cmp))
+ (propagated-inputs
+ (list go-lukechampine-com-uint128
+ go-modernc-org-mathutil
+ go-modernc-org-strutil
+ go-modernc-org-token))
+ (home-page "https://gitlab.com/cznic/cc")
+ (synopsis "C99 compiler front end for Golang")
+ (description
+ "This package provides a C99 compiler front end.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-cc-v4
+ (package/inherit go-modernc-org-cc-v3
+ (name "go-modernc-org-cc-v4")
+ (arguments
+ (list
+ #:import-path "modernc.org/cc/v4"
+ #:unpack-path "modernc.org/cc"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-source-assets
+ ;; TODO: Implement in go-build-system to embed the whole
+ ;; directory (fix-embed-files procedure).
+ (lambda _
+ ;; Remove symlinks, to resolve embed files.
+ (delete-file-recursively "src/modernc.org/ccorpus2/assets")
+ (copy-recursively
+ (string-append #$(this-package-native-input
+ "go-modernc-org-ccorpus2")
+ "/src/modernc.org/ccorpus2/assets")
+ "src/modernc.org/ccorpus2/assets"))))))
+ (native-inputs
+ (list go-github-com-dustin-go-humanize
+ go-github-com-pbnjay-memory
+ go-github-com-pmezard-go-difflib
+ go-modernc-org-ccorpus2))
+ (propagated-inputs
+ (list go-modernc-org-mathutil
+ go-modernc-org-opt
+ go-modernc-org-sortutil
+ go-modernc-org-strutil
+ go-modernc-org-token))))
+
+(define-public go-modernc-org-cc-v5
+ (package/inherit go-modernc-org-cc-v4
+ (name "go-modernc-org-cc-v5")
+ (arguments
+ (list
+ #:tests? #f ;XXX: tests compile a lot of extra.
+ #:import-path "modernc.org/cc/v5"
+ #:unpack-path "modernc.org/cc"))))
+
+(define-public go-modernc-org-ccgo-v3
+ ;; XXX: Project distributes v2, v3 and v4 as the same source without Golang
+ ;; subdir tags.
+ (package
+ (name "go-modernc-org-ccgo-v3")
+ (version "4.30.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/ccgo")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11s0n7l10pqbdp8j02naqjiad0xad5s1zlwvy6mnxq00pra7h1b0"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; XXX: Test and build require go-modernc-org-ccgo-v4.
+ #:tests? #f
+ #:skip-build? #t
+ #:import-path "modernc.org/ccgo/v3"
+ #:unpack-path "modernc.org/ccgo"))
+ (propagated-inputs
+ (list go-github-com-kballard-go-shellquote
+ go-golang-org-x-sys
+ go-golang-org-x-tools
+ go-modernc-org-libc
+ go-modernc-org-cc-v3
+ go-modernc-org-mathutil
+ go-modernc-org-opt))
+ (home-page "https://gitlab.com/cznic/ccgo")
+ (synopsis "CC ASTs to Golang source code translator")
+ (description
+ "This package implements a functionality to translate C to Go source
+code.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-ccgo-v4
+ (package/inherit go-modernc-org-ccgo-v3
+ (name "go-modernc-org-ccgo-v4")
+ (source (origin
+ (inherit (package-source go-modernc-org-ccgo-v3))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
+ (snippet
+ #~(begin
+ (define (delete-all-but directory . preserve)
+ (with-directory-excursion directory
+ (let* ((pred (negate (cut member <>
+ (cons* "." ".." preserve))))
+ (items (scandir "." pred)))
+ (for-each (cut delete-file-recursively <>) items))))
+ (delete-all-but "." "v4")))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-modernc-org-ccgo-v3)
+ ((#:import-path _) "modernc.org/ccgo/v4")))
+ (propagated-inputs
+ (list go-golang-org-x-mod
+ go-golang-org-x-tools
+ go-modernc-org-cc-v4
+ go-modernc-org-gc-v2
+ go-modernc-org-gc-v3
+ go-modernc-org-mathutil
+ go-modernc-org-opt
+ go-modernc-org-strutil))))
+
+(define-public go-modernc-org-ebnf
+ (package
+ (name "go-modernc-org-ebnf")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/ebnf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "089gz09mcch505fkg9dfb480dkd659dlglpyan2qpic8by4xzagw"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/ebnf"))
+ (home-page "https://gitlab.com/cznic/ebnf")
+ (synopsis "EBNF grammars for Golang")
+ (description
+ "This package provides a library for @acronym{extended Backus–Naur form, EBNF}
+grammars. The input is text @code{[]byte} satisfying the following
+grammar (represented itself in EBNF):.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-ebnfutil
+ (package
+ (name "go-modernc-org-ebnfutil")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/ebnfutil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12hwaqy4c83q3yqj7qakysm7wr3l9cn9925pywssmflixm9cw19s"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/ebnfutil"))
+ (propagated-inputs
+ (list go-modernc-org-ebnf
+ go-modernc-org-strutil))
+ (home-page "https://gitlab.com/cznic/ebnfutil")
+ (synopsis "Utilities for messing with EBNF grammars")
+ (description
+ "This package provides some utilities for messing with @acronym{extended
+Backus–Naur form, EBNF} grammars.")
+ (license license:bsd-3)))
+
(define-public go-modernc-org-fileutil
(package
(name "go-modernc-org-fileutil")
@@ -24386,6 +24589,171 @@ Program Argument Syntax Conventions}.")
(description "Package fileutil collects some file utility functions.")
(license license:bsd-3)))
+(define-public go-modernc-org-gc
+ ;; XXX: Project distributes v2 and v3 as the same source without Golang
+ ;; subdir tags.
+ (package
+ (name "go-modernc-org-gc")
+ (version "3.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/gc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19z7ihk76rg40l3wgy6ajm819k4mlz8pf5ib3p38mv8pxs7q1y8p"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; XXX: Tests, probably, depend on deprecated std submodules:
+ ;; <...>-go-1.24.3/lib/go/test: no such file or directory
+ #:tests? #f
+ #:import-path "modernc.org/gc"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-submodules
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file-recursively (list "v2" "v3"))))))))
+ (propagated-inputs
+ (list go-github-com-edsrzf-mmap-go
+ go-modernc-org-token))
+ (home-page "https://gitlab.com/cznic/gc")
+ (synopsis "Golang compiler front end")
+ (description
+ "This package provides a Go compiler front end.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-gc-v2
+ (package/inherit go-modernc-org-gc
+ (name "go-modernc-org-gc-v2")
+ (arguments
+ (list
+ #:import-path "modernc.org/gc/v2"
+ #:unpack-path "modernc.org/gc"
+ ;; all_test.go:274: open normalized.go.ebnf: permission denied
+ #:test-flags #~(list "-skip" "Test0")))
+ (native-inputs
+ (list go-github-com-dustin-go-humanize
+ go-github-com-pmezard-go-difflib
+ go-modernc-org-ebnf
+ go-modernc-org-ebnfutil
+ go-modernc-org-scannertest))
+ (propagated-inputs
+ (list go-modernc-org-token))))
+
+(define-public go-modernc-org-gc-v3
+ (package/inherit go-modernc-org-gc
+ (name "go-modernc-org-gc-v3")
+ (arguments
+ (list
+ #:import-path "modernc.org/gc/v3"
+ #:unpack-path "modernc.org/gc"
+ #:test-flags
+ #~(list "-vet=off" ;Go@1.24 forces vet, but tests are not ready yet.
+ ;; all_test.go:119: open peg.ebnf.fs: permission denied
+ "-skip" "TestPEGEBNF")))
+ (native-inputs
+ (list go-github-com-pmezard-go-difflib
+ go-golang-org-x-tools
+ go-modernc-org-ebnfutil))
+ (propagated-inputs
+ (list go-github-com-dustin-go-humanize
+ go-github-com-dustin-go-humanize
+ go-github-com-hashicorp-golang-lru-v2
+ go-golang-org-x-exp
+ go-modernc-org-mathutil
+ go-modernc-org-strutil
+ go-modernc-org-token))))
+
+(define-public go-modernc-org-goabi0
+ (package
+ (name "go-modernc-org-goabi0")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/goabi0")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1nf3mcql5vjfymhy7l867zan2ynjg3wc3jplh4k1gby077h7jb3h"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/goabi0"))
+ (home-page "https://gitlab.com/cznic/goabi0")
+ (synopsis "Helpers for generating Go assembler ABI0 code")
+ (description
+ "This package provides helpers for generating Go assembler
+@url{https://go.dev/doc/asm, ABI0} code.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-golex
+ (package
+ (name "go-modernc-org-golex")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/golex")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01izinzm5j5210z09r6k8rygybw7s442hrhk0kv726ig9l9si7fi"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/golex"
+ #:test-flags
+ #~(list "-vet=off" ;Go@1.24 forces vet, but tests are not ready yet.
+ ;; Cant's parce "\xff".
+ "-skip" "Example_completeGeneratedProgram")))
+ (propagated-inputs
+ (list go-modernc-org-lex
+ go-modernc-org-lexer))
+ (home-page "https://gitlab.com/cznic/golex")
+ (synopsis "Lex/flex like (not fully POSIX lex compatible) utility")
+ (description
+ "Golex is a lex/flex like (not fully POSIX lex compatible) utility. It
+renders @code{.l}
+@url{https://westes.github.io/flex/manual/Format.html#Format, formated data}
+to Go source code. The @code{.l} data can come from a file named in a command
+line argument. If no non-opt args are given, golex reads stdin.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-lex
+ (package
+ (name "go-modernc-org-lex")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/lex")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fad093cdkgdwk3sf0vklk05qzkis1ivri3hig1wigv4z908nmdj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/lex"))
+ (propagated-inputs
+ (list go-modernc-org-fileutil
+ go-modernc-org-lexer))
+ (home-page "https://gitlab.com/cznic/lex")
+ (synopsis "Support for a @code{*nix (f)lex} like tool on @code{.l} sources")
+ (description
+ "This package provides a support for a @code{*nix (f)lex} like tool on
+@code{.l} sources. The syntax is similar to a subset of @code{}(f)lex}, see
+also: @url{https://github.com/westes/flex}.")
+ (license license:bsd-3)))
+
(define-public go-modernc-org-lexer
(package
(name "go-modernc-org-lexer")
@@ -24437,6 +24805,47 @@ recognizers) at run time.")
(description "Package memory implements a memory allocator.")
(license license:bsd-3)))
+(define-public go-modernc-org-libc
+ (package
+ (name "go-modernc-org-libc")
+ (version "1.66.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/libc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01xj0flqcy5sx75ddcgjvwilbi87gn9wy33k76p88m5f820ldf4d"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/libc"
+ ;; all_musl_test.go:479: FAIL err=exit status 1 out=go: modules disabled
+ ;; by GO111MODULE=off; see 'go help modules'
+ #:test-flags #~(list "-skip" "TestLibc")))
+ (native-inputs
+ (list go-golang-org-x-tools
+ go-modernc-org-ccgo-v4
+ go-modernc-org-fileutil
+ go-modernc-org-goabi0))
+ (propagated-inputs
+ (list go-github-com-dustin-go-humanize
+ go-github-com-google-uuid
+ go-github-com-ncruces-go-strftime
+ go-github-com-remyoudompheng-bigfft
+ go-golang-org-x-exp
+ go-golang-org-x-sys
+ go-modernc-org-mathutil
+ go-modernc-org-memory))
+ (home-page "https://modernc.org/libc")
+ (synopsis "C standard library implementation in Go")
+ (description
+ "Package libc provides a C standard library implementation for use
+with ccgo-generated code.")
+ (license license:bsd-3)))
+
(define-public go-modernc-org-opt
(package
(name "go-modernc-org-opt")
@@ -24459,6 +24868,61 @@ recognizers) at run time.")
(description "Package opt implements command-line flag parsing.")
(license license:bsd-3)))
+(define-public go-modernc-org-parser
+ (package
+ (name "go-modernc-org-parser")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/parser")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mawi7qqd5pkpg1a9k3isnkm6c524ig83awmpc132x47qsxd2a6g"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "modernc.org/parser"))
+ (propagated-inputs
+ (list go-modernc-org-golex
+ go-modernc-org-scanner
+ go-modernc-org-strutil))
+ (home-page "https://gitlab.com/cznic/parser")
+ (synopsis "Collection of Golang parsers")
+ (description
+ "This package provides an imlementation of @code{nquads} and @code{yacc}
+parsers.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-scanner
+ (package
+ (name "go-modernc-org-scanner")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/scanner")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nj7iy8gr9f5vwmg5fvpvxsjy9668mkm9dyc8ajx8imvlx4n1lvw"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/scanner"))
+ (propagated-inputs
+ (list go-modernc-org-token))
+ (home-page "https://gitlab.com/cznic/scanner")
+ (synopsis "Common source code scanner for Golang")
+ (description
+ ;; XXX: Project provides nearly 0 documentation.
+ "This package provides some common scanner stuff.")
+ (license license:bsd-3)))
+
(define-public go-modernc-org-sortutil
(package
(name "go-modernc-org-sortutil")
@@ -24485,6 +24949,49 @@ recognizers) at run time.")
@code{sort} package.")
(license license:bsd-3)))
+(define-public go-modernc-org-sqlite
+ (package
+ (name "go-modernc-org-sqlite")
+ (version "1.38.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/sqlite")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0579vip4vn488jppjpadryxyimkw2jr8ywr4j0piqcm2zs40h509"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/sqlite"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'check 'post-check-remove-test-data
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "testdata")))))))
+ (native-inputs
+ (list go-github-com-google-pprof
+ go-github-com-mattn-go-sqlite3
+ go-modernc-org-fileutil
+ go-modernc-org-mathutil))
+ (propagated-inputs
+ (list go-github-com-dustin-go-humanize
+ go-github-com-google-uuid
+ go-github-com-ncruces-go-strftime
+ go-github-com-remyoudompheng-bigfft
+ go-golang-org-x-sys
+ go-modernc-org-libc
+ go-modernc-org-memory))
+ (home-page "https://modernc.org/sqlite")
+ (synopsis "CGo-free port of SQLite")
+ (description
+ "Package sqlite is a CGo-free port of SQLite. It is a drop-in
+replacement for mattn/go-sqlite3.")
+ (license license:bsd-3)))
+
(define-public go-modernc-org-strutil
(package
(name "go-modernc-org-strutil")
@@ -24513,6 +25020,35 @@ recognizers) at run time.")
@code{strings} package.")
(license license:bsd-3)))
+(define-public go-modernc-org-y
+ (package
+ (name "go-modernc-org-y")
+ (version "1.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/y")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vp9dzw7m64yhf8j0sxir9lpn8zis1z06ia95iah62h6p0c3q9ys"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/y"))
+ (propagated-inputs
+ (list go-modernc-org-mathutil
+ go-modernc-org-parser
+ go-modernc-org-sortutil
+ go-modernc-org-strutil))
+ (home-page "https://gitlab.com/cznic/y")
+ (synopsis "Converter of @code{.y} (yacc) source files")
+ (description
+ "This package implements a functionality to convert @code{.y} (yacc[2])
+source files to data suitable for a parser generator.")
+ (license license:bsd-3)))
+
(define-public go-mvdan-cc-editorconfig
(package
(name "go-mvdan-cc-editorconfig")
@@ -24733,6 +25269,31 @@ described at https://golang.org/s/re2syntax, except for @code{\\C.}")
prints the Go version used to build that executable.")
(license license:bsd-3)))
+(define-public go-rsc-io-script
+ (package
+ (name "go-rsc-io-script")
+ (version "0.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rsc/script")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05yl5nqhcjhp4sjdh7a9m9s6w4lm4qhn4bhi7v6hhsbfn348jxfh"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "rsc.io/script"))
+ (propagated-inputs (list go-golang-org-x-tools))
+ (home-page "https://rsc.io/script")
+ (synopsis "Small scripting language for Go")
+ (description
+ "Package script implements a small, customizable, platform-agnostic
+scripting language.")
+ (license license:bsd-3)))
+
(define-public go-sigs-k8s-io-json
(package
(name "go-sigs-k8s-io-json")