diff options
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r-- | gnu/packages/golang.scm | 565 |
1 files changed, 565 insertions, 0 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 3640d7640b..445533b0c2 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> +;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,6 +42,8 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pcre) + #:use-module (gnu packages lua) + #:use-module (gnu packages mp3) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) @@ -1793,3 +1796,565 @@ finding resources located relative to the executable file.") run programs as a service using a variety of supervisors, including systemd, SysVinit, and more.") (license license:zlib)))) + +(define-public go-github-com-docker-distribution + (let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329") + (revision "0")) + (package + (name "go-github-com-docker-distribution") + (version (git-version "0.0.0" revision commit)) + (source + ;; FIXME: This bundles many things, see + ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31881#41>. + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/docker/distribution") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6")))) + (build-system go-build-system) + (native-inputs + `(("go-golang-org-x-sys-unix" + ,go-golang-org-x-sys-unix) + ("go-github-com-sirupsen-logrus" + ,go-github-com-sirupsen-logrus) + ("go-golang-org-x-crypto-ssh-terminal" + ,go-golang-org-x-crypto-ssh-terminal))) + (arguments + '(#:import-path "github.com/docker/distribution" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (assoc-ref outputs "out") + ".*\\.gz$")) + #t))))) + (home-page + "https://github.com/docker/distribution") + (synopsis "This package is Docker toolset to pack, ship, store, and +deliver content") + (description "Docker Distribution is Docker toolset to pack, ship, +store, and deliver content. It's containe Docker Registry 2.0 and libraries +to interacting with distribution components.") + (license license:asl2.0)))) + +(define-public go-github-com-docker-go-connections + (let ((commit "3ede32e2033de7505e6500d6c868c2b9ed9f169d") + (revision "0")) + (package + (name "go-github-com-docker-go-connections") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/docker/go-connections.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0v1pkr8apwmhyzbjfriwdrs1ihlk6pw7izm57r24mf9jdmg3fyb0")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/docker/go-connections")) + (home-page "https://github.com/docker/go-connections") + (synopsis "Networking library for Go") + (description + "This packages 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-docker-machine + (let ((commit "7b7a141da84480342357c51838be142bf183b095") + (revision "0")) + (package + (name "go-github-com-docker-machine") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/docker/machine.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bavk0lvs462yh0lnmnxi9psi5qv1x3nvzmd2b0drsahlp1gxi8s")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/docker/machine")) + (home-page "https://github.com/docker/machine") + (synopsis "Machine management for a container-centric world") + (description + "@dfn{Machine} lets you create Docker hosts on your computer, on +hosting providers, and inside your data center. It creates servers, installs +Docker on them, then configures the Docker client to talk to them.") + (license license:asl2.0)))) + +(define-public go-github-com-gorhill-cronexpr + (let ((commit "f0984319b44273e83de132089ae42b1810f4933b") + (revision "0")) + (package + (name "go-github-com-gorhill-cronexpr") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gorhill/cronexpr.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dphhhqy3i7265znv3m8n57l80dmaq6z4hsj5kgd87qd19z8x0l2")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/gorhill/cronexpr")) + (home-page "https://github.com/gorhill/cronexpr") + (synopsis "Cron expression parser in the Go language") + (description + "This package provides a cron expression parser in the Go language. +Given a cron expression and a time stamp, you can get the next time stamp +which satisfies the cron expression.") + (license (list license:gpl3+ + license:asl2.0))))) + +(define-public go-gopkg-in-check-v1 + (let ((commit "20d25e2804050c1cd24a7eea1e7a6447dd0e74ec") + (revision "0")) + (package + (name "go-gopkg-in-check-v1") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-check/check") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np")))) + (build-system go-build-system) + (arguments + '(#:import-path "gopkg.in/check.v1")) + (home-page "https://gopkg.in/check.v1") + (synopsis "Test framework for the Go language") + (description + "This package provides a test library for the Go language.") + (license license:asl2.0)))) + +(define-public go-gopkg-in-yaml-v2 + (let ((commit "14227de293ca979cf205cd88769fe71ed96a97e2") + (revision "0")) + (package + (name "go-gopkg-in-yaml-v2") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gopkg.in/yaml.v2.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "038hnrjcnjygyi3qidfrkpkakis82qg381sr495d2s40g2dwlzah")))) + (build-system go-build-system) + (arguments + '(#:import-path "gopkg.in/yaml.v2")) + (native-inputs + `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1))) + (home-page "https://gopkg.in/yaml.v2") + (synopsis "YAML reader and writer for the Go language") + (description + "This package provides a Go library for encode and decode YAML +values.") + (license license:asl2.0)))) + +(define-public go-github-com-mattn-go-isatty + (let ((commit "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c") + (revision "0")) + (package + (name "go-github-com-mattn-go-isatty") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattn/go-isatty") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/mattn/go-isatty")) + (home-page "https://github.com/mattn/go-isatty") + (synopsis "Provide @code{isatty} for Golang") + (description "This package provides @code{isatty}, a Go module that can +tell you whether a file descriptor points to a terminal and the type of the +terminal.") + (license license:expat)))) + +(define-public go-github-com-mattn-go-colorable + (let ((commit "efa589957cd060542a26d2dd7832fd6a6c6c3ade") + (revision "0")) + (package + (name "go-github-com-mattn-go-colorable") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattn/go-colorable") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-mattn-go-isatty" + ,go-github-com-mattn-go-isatty))) + (arguments + '(#:import-path "github.com/mattn/go-colorable")) + (home-page "https://github.com/mattn/go-colorable") + (synopsis "Handle ANSI color escapes on Windows") + (description "This package provides @code{colorable}, a module that +makes it possible to handle ANSI color escapes on Windows.") + (license license:expat)))) + +(define-public go-github-com-mgutz-ansi + (let ((commit "9520e82c474b0a04dd04f8a40959027271bab992") + (revision "0")) + (package + (name "go-github-com-mgutz-ansi") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/mgutz/ansi") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-mattn-go-isatty" + ,go-github-com-mattn-go-isatty) + ("go-github-com-mattn-go-colorable" + ,go-github-com-mattn-go-colorable))) + (arguments + '(#:import-path "github.com/mgutz/ansi")) + (home-page "https://github.com/mgutz/ansi") + (synopsis "Small, fast library to create ANSI colored strings and codes") + (description "This package provides @code{ansi}, a Go module that can +generate ANSI colored strings.") + (license license:expat)))) + +(define-public go-github-com-aarzilli-golua + (let ((commit "03fc4642d792b1f2bc5e7343b403cf490f8c501d") + (revision "0")) + (package + (name "go-github-com-aarzilli-golua") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/aarzilli/golua") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d9hr29i36cza98afj3g6rs3l7xbkprwzz0blcxsr9dd7nak20di")))) + (build-system go-build-system) + (native-inputs + `(("lua" ,lua))) + (arguments + `(#:unpack-path "github.com/aarzilli/golua" + #:import-path "github.com/aarzilli/golua/lua" + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key import-path #:allow-other-keys) + (invoke "go" "install" + "-v" ; print the name of packages as they are compiled + "-x" ; print each command as it is invoked + "-ldflags=-s -w" ; strip the symbol table and debug + "-tags" "llua" ; Latest Lua on Guix does not have a version number. + import-path))) + (replace 'check + (lambda* (#:key import-path #:allow-other-keys) + (invoke "go" "test" + "-tags" "llua" ; Latest Lua on Guix does not have a version number. + import-path)))))) + (home-page "https://github.com/aarzilli/golua") + (synopsis "Go Bindings for the Lua C API") + (description "This package provides @code{lua}, a Go module that can +run a Lua virtual machine.") + (license license:expat)))) + +(define-public go-gitlab-com-ambrevar-golua-unicode + (let ((commit "97ce517e7a1fe2407a90c317a9c74b173d396144") + (revision "0")) + (package + (name "go-gitlab-com-ambrevar-golua-unicode") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://gitlab.com/ambrevar/golua") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1izcp7p8nagjwqd13shb0020w7xhppib1a3glw2d1468bflhksnm")))) + (build-system go-build-system) + (native-inputs + `(("lua" ,lua) + ("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua))) + (arguments + `(#:unpack-path "gitlab.com/ambrevar/golua" + #:import-path "gitlab.com/ambrevar/golua/unicode" + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key import-path #:allow-other-keys) + (setenv "USER" "homeless-dude") + (invoke "go" "test" import-path)))))) + (home-page "https://gitlab.com/ambrevar/golua") + (synopsis "Add Unicode support to Golua") + (description "This extension to Arzilli's Golua adds Unicode support to +all functions from the Lua string library. Lua patterns are replaced by Go +regexps. This breaks compatibility with Lua, but Unicode support breaks it +anyways and Go regexps are more powerful.") + (license license:expat)))) + +(define-public go-github-com-yookoala-realpath + (let ((commit "d19ef9c409d9817c1e685775e53d361b03eabbc8") + (revision "0")) + (package + (name "go-github-com-yookoala-realpath") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/yookoala/realpath") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qvz1dcdldf53rq69fli76z5k1vr7prx9ds1d5rpzgs68kwn40nw")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/yookoala/realpath")) + (home-page "https://github.com/yookoala/realpath") + (synopsis "@code{realpath} for Golang") + (description "This package provides @code{realpath}, a Go module that +when provided with a valid relative path / alias path, it will return you with +a string of its real absolute path in the system.") + (license license:expat)))) + +(define-public go-gitlab-com-ambrevar-damerau + (let ((commit "883829e1f25fad54015772ea663e69017cf22352") + (revision "0")) + (package + (name "go-gitlab-com-ambrevar-damerau") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://gitlab.com/ambrevar/damerau") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1b9p8fypc914ij1afn6ir346zsgfqrc5mqc1k3d53n4snypq27qv")))) + (build-system go-build-system) + (arguments + `(#:import-path "gitlab.com/ambrevar/damerau")) + (home-page "https://gitlab.com/ambrevar/damerau") + (synopsis "Damerau-Levenshtein distance for Golang") + (description "This is a spelling corrector implementing the +Damerau-Levenshtein distance. Takes a string value input from the user. +Looks for an identical word on a list of words, if none is found, look for a +similar word.") + (license license:expat)))) + +(define-public go-github-com-stevedonovan-luar + (let ((commit "22d247e5366095f491cd83edf779ee99a78f5ead") + (revision "0")) + (package + (name "go-github-com-stevedonovan-luar") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/stevedonovan/luar") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1acjgw9cz1l0l9mzkyk7irz6cfk31wnxgbwa805fvm1rqcjzin2c")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua))) + (arguments + `(#:tests? #f ; Upstream tests are broken. + #:import-path "github.com/stevedonovan/luar")) + (home-page "https://github.com/stevedonovan/luar") + (synopsis "Lua reflection bindings for Go") + (description "Luar is designed to make using Lua from Go more +convenient. Go structs, slices and maps can be automatically converted to Lua +tables and vice-versa. The resulting conversion can either be a copy or a +proxy. In the latter case, any change made to the result will reflect on the +source. + +Any Go function can be made available to Lua scripts, without having to write +C-style wrappers. + +Luar support cyclic structures (lists, etc.). + +User-defined types can be made available to Lua as well: their exported +methods can be called and usual operations such as indexing or arithmetic can +be performed.") + (license license:expat)))) + +(define-public go-github-com-kr-text + (let ((commit "e2ffdb16a802fe2bb95e2e35ff34f0e53aeef34f") + (revision "0")) + (package + (name "go-github-com-kr-text") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/kr/text") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/kr/text")) + (home-page "https://github.com/kr/text") + (synopsis "Go package for manipulating paragraphs of text") + (description "Package @code{text} provides manipulation Go functions for +paragraphs of text.") + (license license:expat)))) + +(define-public go-github-com-michiwend-golang-pretty + (let ((commit "8ac61812ea3fa540f3f141a444fcb0dd713cdca4") + (revision "0")) + (package + (name "go-github-com-michiwend-golang-pretty") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/michiwend/golang-pretty") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rjfms0csjqi91xnddzx3rcrcaikc7xc027617px3kdwdap80ir4")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-kr-text" ,go-github-com-kr-text))) + (arguments + `(#:tests? #f ; Upstream tests seem to be broken. + #:import-path "github.com/michiwend/golang-pretty")) + (home-page "https://github.com/michiwend/golang-pretty") + (synopsis "Pretty printing for Go values") + (description "Package @code{pretty} provides pretty-printing for Go +values. This is useful during debugging, to avoid wrapping long output lines +in the terminal. + +It provides a function, @code{Formatter}, that can be used with any function +that accepts a format string. It also provides convenience wrappers for +functions in packages @code{fmt} and @code{log}.") + (license license:expat)))) + +(define-public go-github-com-michiwend-gomusicbrainz + (let ((commit "0cdeb13f9b24d2c714feb7e3c63d595cf7121d7d") + (revision "0")) + (package + (name "go-github-com-michiwend-gomusicbrainz") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/michiwend/gomusicbrainz") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1li9daw0kghb80rdmxbh7g72qhxcvx3rvhwq5gs0jrr9hb8pjvcn")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-michiwend-golang-pretty" ,go-github-com-michiwend-golang-pretty) + ("go-github-com-kr-text" ,go-github-com-kr-text))) + (arguments + `(#:import-path "github.com/michiwend/gomusicbrainz")) + (home-page "https://github.com/michiwend/gomusicbrainz") + (synopsis "MusicBrainz WS2 client library for Golang") + (description "Currently GoMusicBrainz provides methods to perform search +and lookup requests. Browse requests are not supported yet.") + (license license:expat)))) + +(define-public go-github-com-wtolson-go-taglib + (let ((commit "6e68349ff94ecea412de7e748cb5eaa26f472777") + (revision "0")) + (package + (name "go-github-com-wtolson-go-taglib") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/wtolson/go-taglib") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cpjqnrviwflz150g78iir5ndrp3hh7a93zbp4dwbg6sb2q141p2")))) + (build-system go-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("taglib" ,taglib))) + (arguments + `(#:import-path "github.com/wtolson/go-taglib")) + (home-page "https://github.com/wtolson/go-taglib") + (synopsis "Go wrapper for taglib") + (description "Go wrapper for taglib") + (license license:unlicense)))) |