aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/golang-build.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/golang-build.scm')
-rw-r--r--gnu/packages/golang-build.scm506
1 files changed, 506 insertions, 0 deletions
diff --git a/gnu/packages/golang-build.scm b/gnu/packages/golang-build.scm
new file mode 100644
index 0000000000..8b7dca46a6
--- /dev/null
+++ b/gnu/packages/golang-build.scm
@@ -0,0 +1,506 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
+;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 HiPhish <hiphish@posteo.de>
+;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
+;;; Copyright © 2020 Vagrant Cascadian <vagrant@debian.org>
+;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
+;;; Copyright © 2021 hackeryarn <artemchernyak@gmail.com>
+;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
+;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
+;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
+;;;
+;;; 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-build)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system go)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (gnu packages))
+
+;;; Commentary:
+;;;
+;;; Modules (libraries) which are part of the Golang project but outside the
+;;; main Golang tree, see <https://pkg.go.dev/golang.org/x>
+;;;
+;;; Since they are bound to be relied on by many, their dependencies should be
+;;; kept minimal, and this module should not depend on other modules
+;;; containing Golang packages.
+;;;
+;;; Please: Try to add new module packages in alphabetic order.
+;;;
+;;; Code:
+
+(define-public go-github-com-yuin-goldmark
+ (package
+ (name "go-github-com-yuin-goldmark")
+ (version "1.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/yuin/goldmark")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12rsnsf65drcp0jfw2jl9w589vsn3pxdk1zh3v9q908iigngrcmy"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/yuin/goldmark"))
+ (home-page "https://github.com/yuin/goldmark/")
+ (synopsis "Markdown parser")
+ (description "This package provides a markdown parser.")
+ (license license:expat)))
+
+(define-public go-golang-org-x-crypto
+ (package
+ (name "go-golang-org-x-crypto")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/crypto")
+ (commit (string-append "v" version))))
+ (file-name (string-append "go.googlesource.com-crypto-"
+ version "-checkout"))
+ (sha256
+ (base32 "13i0yz4hvc4qdr438nmzilvl5ns73v3910bakcddny3jbzq72i2m"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "golang.org/x/crypto"
+ ;; Source-only package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://go.googlesource.com/crypto/")
+ (synopsis "Supplementary cryptographic libraries in Go")
+ (description "This package provides supplementary cryptographic libraries
+for the Go language.")
+ (license license:bsd-3)))
+
+(define-public go-golang-org-x-exp
+ (package
+ (name "go-golang-org-x-exp")
+ (version "0.0.0-20221004215720-b9f4876ce741")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/exp")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "030b929xyg8dpp6f4qbyg63msi6zgzj9sqmvnyphfcrjkqf7nr41"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "golang.org/x/exp"
+ ;; Source-only package
+ #:tests? #f
+ #:phases (modify-phases %standard-phases
+ (delete 'build))))
+ (home-page "https://golang.org/x/exp")
+ (synopsis "Experimental and deprecated Go packages")
+ (description "This subrepository holds experimental and deprecated (in the
+@code{old} directory) packages.")
+ (license license:bsd-3)))
+
+(define-public go-golang-org-x-image
+ (let ((commit "58c23975cae11f062d4b3b0c143fe248faac195d")
+ (revision "1"))
+ (package
+ (name "go-golang-org-x-image")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/image")
+ (commit commit)))
+ (file-name (string-append "go.googlesource.com-image-"
+ version "-checkout"))
+ (sha256
+ (base32 "0i2p2girc1sfcic6xs6vrq0fp3szfx057xppksb67kliywjjrm5x"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "golang.org/x/image"
+ ;; Source-only package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build))))
+ (home-page "https://go.googlesource.com/image")
+ (synopsis "Supplemental Go image libraries")
+ (description "This package provides supplemental Go libraries for image
+processing.")
+ (license license:bsd-3))))
+
+(define-public go-golang-org-x-mod
+ (let ((commit "7c05a442b7c1d1a107879b4a090bb5a38d3774a1")
+ (revision "0"))
+ (package
+ (name "go-golang-org-x-mod")
+ (version (git-version "0.7.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/golang/mod")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14r24fq3kn84k2y2jvvg8hwpy52a3q429pimrdwl5zwknbr2awmh"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "golang.org/x/mod/"
+ #:tests? #f
+ #:phases (modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (home-page "https://golang.org/x/mod")
+ (synopsis "Tools to work directly with Go module mechanics")
+ (description
+ "This repository holds packages for writing tools that work directly
+with Go module mechanics. That is, it is for direct manipulation of Go
+modules themselves.
+
+The specific case of loading packages should still be done by invoking the
+@command{go} command, which remains the single point of truth for package
+loading algorithms.")
+ (license license:bsd-3))))
+
+(define-public go-golang-org-x-net
+ (let ((commit "8e0e7d8d38f2b6d21d742845570dde2902d06a1d")
+ (revision "0"))
+ (package
+ (name "go-golang-org-x-net")
+ (version (git-version "0.5.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/net")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fidlcn3vcz42v2lc0rpmqh3bz08bcklj6jvnmz2vvgc481ci5hy"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "golang.org/x/net"
+ ;; Source-only package
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (home-page "https://go.googlesource.com/net")
+ (synopsis "Go supplemental networking libraries")
+ (description "This package provides supplemental Go networking libraries.")
+ (license license:bsd-3))))
+
+;; XXX: Not in use by any other packages, consider to remove or merge with
+;; go-golang-org-x-net.
+(define-public go-golang-org-x-net-0.17
+ (let ((commit "b225e7ca6dde1ef5a5ae5ce922861bda011cfabd")
+ (revision "0"))
+ (package
+ (inherit go-golang-org-x-net)
+ (name "go-golang-org-x-net")
+ (version (git-version "0.17.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/net")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17zhim2m0r8nyy18g2lsawxm4rawix2qbjyn80x9vc6jc8fv05m9")))))))
+
+(define-public go-golang-org-x-net-html
+ (package
+ (inherit go-golang-org-x-net)
+ (name "go-golang-org-x-net-html")
+ (arguments
+ '(#:import-path "golang.org/x/net/html"
+ #:unpack-path "golang.org/x/net"))
+ (home-page "https://godoc.org/golang.org/x/net/html")
+ (synopsis "HTML5-compliant tokenizer and parser")
+ (description
+ "This package provides an HTML5-compliant tokenizer and parser.")))
+
+(define-public go-golang-org-x-sync
+ (let ((commit "8fcdb60fdcc0539c5e357b2308249e4e752147f1")
+ (revision "1"))
+ (package
+ (name "go-golang-org-x-sync")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/sync")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07qrhni6f5hh5p95k1yk6s4wsj341q663irvx6rllrxfsymj6a0z"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "golang.org/x/sync"
+ #:tests? #f
+ ;; Source-only package
+ #:phases (modify-phases %standard-phases
+ (delete 'build))))
+ (home-page "https://go.googlesource.com/sync/")
+ (synopsis "Additional Go concurrency primitives")
+ (description "This package provides Go concurrency primitives in
+addition to the ones provided by the language and “sync” and “sync/atomic”
+packages.")
+ (license license:bsd-3))))
+
+(define-public go-golang.org-x-sync-errgroup
+ (let ((commit "cd5d95a43a6e21273425c7ae415d3df9ea832eeb")
+ (revision "0"))
+ (package
+ (name "go-golang.org-x-sync-errgroup")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/sync")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "golang.org/x/sync/errgroup"
+ #:unpack-path "golang.org/x/sync"))
+ (home-page "https://godoc.org/golang.org/x/sync/errgroup")
+ (synopsis "Synchronization, error propagation, and Context cancellation
+for groups of goroutines working on subtasks of a common task")
+ (description "This package provides synchronization, error
+propagation, and Context cancellation for groups of goroutines working on
+subtasks of a common task.")
+ (license license:bsd-3))))
+
+(define-public go-golang.org-x-sync-semaphore
+ (package
+ (inherit go-golang.org-x-sync-errgroup)
+ (name "go-golang.org-x-sync-semaphore")
+ (arguments
+ '(#:import-path "golang.org/x/sync/semaphore"
+ #:unpack-path "golang.org/x/sync"))
+ (home-page "https://godoc.org/golang.org/x/sync/semaphore")
+ (synopsis "Weighted semaphore implementation in Go")
+ (description "Weighted semaphore implementation in Go.")))
+
+(define-public go-golang-org-x-sys
+ (let ((commit "ca59edaa5a761e1d0ea91d6c07b063f85ef24f78")
+ (revision "0"))
+ (package
+ (name "go-golang-org-x-sys")
+ (version (git-version "0.8.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/sys")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p81niiin8dwyrjl2xsc95136w3vdw4kmj0w3mlh0vh5v134s4xq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "golang.org/x/sys"
+ ;; Source-only package
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (home-page "https://go.googlesource.com/sys")
+ (synopsis "Go support for low-level system interaction")
+ (description "This package provides supplemental libraries offering Go
+support for low-level interaction with the operating system.")
+ (license license:bsd-3))))
+
+(define-public go-golang-org-x-term
+ (package
+ (name "go-golang-org-x-term")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/term")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16s3d62fgdhiqvcib61s5pwxp08hhrmzx8bdv5zk1w1krjizdarl"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "golang.org/x/term"))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://pkg.go.dev/golang.org/x/term")
+ (synopsis "Go terminal/console support")
+ (description "@code{term} provides support functions for dealing with
+terminals, as commonly found on Unix systems.")
+ (license license:bsd-3)))
+
+(define-public go-golang-org-x-text
+ (package
+ (name "go-golang-org-x-text")
+ (version "0.3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/text")
+ (commit (string-append "v" version))))
+ (file-name (string-append "go.googlesource.com-text-"
+ version "-checkout"))
+ (sha256
+ (base32 "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "golang.org/x/text"
+ ;; Source-only package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build))))
+ (home-page "https://go.googlesource.com/text")
+ (synopsis "Supplemental Go text processing libraries")
+ (description "This package provides supplemental Go libraries for text
+processing.")
+ (license license:bsd-3)))
+
+(define-public go-golang-org-x-time
+ (let ((commit "9d24e82272b4f38b78bc8cff74fa936d31ccd8ef")
+ (revision "2"))
+ (package
+ (name "go-golang-org-x-time")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/time")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1f5nkr4vys2vbd8wrwyiq2f5wcaahhpxmia85d1gshcbqjqf8dkb"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "golang.org/x/time"
+ ;; Source-only package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (home-page "https://godoc.org/golang.org/x/time/rate")
+ (synopsis "Supplemental Go time libraries")
+ (description "This package provides supplemental Go libraries related to
+time.")
+ (license license:bsd-3))))
+
+(define-public go-golang-org-x-tools
+ (package
+ (name "go-golang-org-x-tools")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/tools")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "08kx2nndq3sr6xai7403mbsqvz5shxmp2icylfr2fmwagr59cb2n"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; gopls versions are tagged separately, and it is a
+ ;; separate Guix package.
+ (delete-file-recursively "gopls")))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "golang.org/x/tools"
+ ;; Source-only package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (propagated-inputs
+ (list go-github-com-yuin-goldmark
+ go-golang-org-x-mod
+ go-golang-org-x-net
+ go-golang-org-x-sys))
+ (home-page "https://go.googlesource.com/tools/")
+ (synopsis "Tools that support the Go programming language")
+ (description "This package provides miscellaneous tools that support the
+Go programming language.")
+ (license license:bsd-3)))
+
+(define-public go-golang-org-x-xerrors
+ (let ((commit "5ec99f83aff198f5fbd629d6c8d8eb38a04218ca")
+ (revision "0"))
+ (package
+ (name "go-golang-org-x-xerrors")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/xerrors")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1dbzc3gmf2haazpv7cgmv97rq40g2xzwbglc17vas8dwhgwgwrzb"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "golang.org/x/xerrors"))
+ (home-page "https://godoc.org/golang.org/x/xerrors")
+ (synopsis "Go 1.13 error values")
+ (description "This package holds the transition packages for the new Go
+1.13 error values.")
+ (license license:bsd-3))))
+
+;;;
+;;; 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.
+;;;