diff options
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r-- | gnu/packages/golang.scm | 884 |
1 files changed, 438 insertions, 446 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index cfdf6932bb..cc896405cb 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -12,7 +12,8 @@ ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright @ 2018 Katherine Cox-Buday <cox.katherine.e@gmail.com> +;;; Copyright @ 2018, 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com> +;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,9 +48,7 @@ #:use-module (gnu packages lua) #:use-module (gnu packages mp3) #:use-module (ice-9 match) - #:use-module (srfi srfi-1) - #:export (go-github-com-gogo-protobuf-union) - #:export (go-golang-org-x-crypto-union)) + #:use-module (srfi srfi-1)) ;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a ;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2 @@ -223,11 +222,11 @@ in the style of communicating sequential processes (@dfn{CSP}).") (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")) (license license:bsd-3))) -(define-public go-1.9 +(define-public go-1.11 (package (inherit go-1.4) (name "go") - (version "1.9.7") + (version "1.11.6") (source (origin (method url-fetch) @@ -235,13 +234,12 @@ in the style of communicating sequential processes (@dfn{CSP}).") name version ".src.tar.gz")) (sha256 (base32 - "08kpy874x0rx43zpyv5kwd8xj2ma91xm33i0ka2v1v788px18a2q")))) + "0cz1sdhxf9283p1p4jxb020pym0ncd0qlfh36r3hkv6bbm1a2vd9")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases) `(modify-phases ,phases (replace 'prebuild - ;; TODO: Most of this could be factorized with Go 1.4. (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")) (ld (string-append (assoc-ref inputs "libc") "/lib")) @@ -251,43 +249,48 @@ in the style of communicating sequential processes (@dfn{CSP}).") (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) (output (assoc-ref outputs "out"))) - ;; Removing net/ tests, which fail when attempting to access - ;; network resources not present in the build container. (for-each delete-file + ;; Removing net/ tests, which fail when attempting to access + ;; network resources not present in the build container. '("net/listen_test.go" "net/parse_test.go" - "net/cgo_unix_test.go")) + "net/cgo_unix_test.go" + ;; A side effect of these test scripts is testing + ;; cgo. Attempts at using cgo flags and + ;; directives with these scripts as specified + ;; here (https://golang.org/cmd/cgo/) have not + ;; worked. The tests continue to state that they + ;; can not find crt1.o despite being present. + "cmd/go/testdata/script/list_compiled_imports.txt" + "cmd/go/testdata/script/mod_case_cgo.txt" + ;; https://github.com/golang/go/issues/24884 + "os/user/user_test.go")) (substitute* "os/os_test.go" (("/usr/bin") (getcwd)) (("/bin/pwd") (which "pwd")) (("/bin/sh") (which "sh"))) + (substitute* "cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go" + (("/usr/bin") "/tmp")) + ;; Add libgcc to runpath (substitute* "cmd/link/internal/ld/lib.go" (("!rpath.set") "true")) - (substitute* "cmd/go/internal/work/build.go" + (substitute* "cmd/go/internal/work/gccgo.go" (("cgoldflags := \\[\\]string\\{\\}") (string-append "cgoldflags := []string{" "\"-rpath=" gcclib "\"" "}")) + (("\"-lgcc_s\", ") + (string-append + "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", "))) + (substitute* "cmd/go/internal/work/gc.go" (("ldflags = setextld\\(ldflags, compiler\\)") (string-append "ldflags = setextld(ldflags, compiler)\n" "ldflags = append(ldflags, \"-r\")\n" - "ldflags = append(ldflags, \"" gcclib "\")\n")) - (("\"-lgcc_s\", ") - (string-append - "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", "))) - - ;; XXX Commit 65fa2b615b72c1fa61a7 in the Go repo. We do this - ;; without a patch because ((guix packages) patch-and-repack) - ;; resets file mtimes, and parts of Go's test suite rely on - ;; those timestamps. - ;; <https://github.com/golang/go/issues/26369> - (substitute* "cmd/internal/objfile/elf.go" - (("PT_LOAD") - "PT_LOAD && p.Flags&elf.PF_X != 0")) + "ldflags = append(ldflags, \"" gcclib "\")\n"))) ;; Disable failing tests: these tests attempt to access ;; commands or network resources which are neither available @@ -322,9 +325,6 @@ in the style of communicating sequential processes (@dfn{CSP}).") ("syscall/exec_linux_test.go" "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)"))) - (substitute* "../misc/cgo/testsanitizers/test.bash" - (("(CC=)cc" all var) (string-append var "gcc"))) - ;; fix shebang for testar script ;; note the target script is generated at build time. (substitute* "../misc/cgo/testcarchive/carchive_test.go" @@ -342,19 +342,10 @@ in the style of communicating sequential processes (@dfn{CSP}).") (add-before 'build 'set-bootstrap-variables (lambda* (#:key outputs inputs #:allow-other-keys) ;; Tell the build system where to find the bootstrap Go. - (let ((go (assoc-ref inputs "go")) - (out (assoc-ref outputs "out"))) + (let ((go (assoc-ref inputs "go"))) (setenv "GOROOT_BOOTSTRAP" go) - (setenv "PATH" - (string-append out "/bin:" - (dirname (getcwd)) "/bin:" - (getenv "PATH"))) - - ;; XXX: The following variables seem unrelated. (setenv "GOGC" "400") - (setenv "GO_TEST_TIMEOUT_SCALE" "9999") #t))) - (replace 'build (lambda* (#:key inputs outputs #:allow-other-keys) ;; FIXME: Some of the .a files are not bit-reproducible. @@ -375,6 +366,11 @@ in the style of communicating sequential processes (@dfn{CSP}).") (src (string-append (assoc-ref outputs "tests") "/share/" ,name "-" ,version))) (delete-file-recursively "../pkg/bootstrap") + ;; Prevent installation of the build cache, which contains + ;; store references to most of the tools used to build Go and + ;; would unnecessarily increase the size of Go's closure if it + ;; was installed. + (delete-file-recursively "../pkg/obj") (mkdir-p src) (copy-recursively "../test" (string-append src "/test")) @@ -406,11 +402,12 @@ in the style of communicating sequential processes (@dfn{CSP}).") ,@(package-native-inputs go-1.4))) (supported-systems %supported-systems))) -(define-public go-1.11 + +(define-public go-1.12 (package - (inherit go-1.9) + (inherit go-1.4) (name "go") - (version "1.11.5") + (version "1.12.1") (source (origin (method url-fetch) @@ -418,23 +415,11 @@ in the style of communicating sequential processes (@dfn{CSP}).") name version ".src.tar.gz")) (sha256 (base32 - "0gllmbjvp12iszwils8id78mvjxwviwf98lh2gdkb236n4mz07mw")))) + "12l12mmgqvy3nbscy7sz83qj4m6iz5a322aq9sk45f7l9ml2gq8b")))) (arguments - (substitute-keyword-arguments (package-arguments go-1.9) + (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases) `(modify-phases ,phases - ;; XXX Work around the Go 1.11.5 tarbomb. - ;; <https://github.com/golang/go/issues/29906> - (add-after 'unpack 'tarbomb-workaround - (lambda _ - (chdir "..") - (delete-file-recursively "gocache") - (delete-file-recursively "tmp") - #t)) - (replace 'chdir - (lambda _ - (chdir "go/src") - #t)) (replace 'prebuild (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")) @@ -445,22 +430,17 @@ in the style of communicating sequential processes (@dfn{CSP}).") (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) (output (assoc-ref outputs "out"))) - (for-each delete-file - ;; Removing net/ tests, which fail when attempting to access - ;; network resources not present in the build container. - '("net/listen_test.go" - "net/parse_test.go" - "net/cgo_unix_test.go" - ;; A side effect of these test scripts is testing - ;; cgo. Attempts at using cgo flags and - ;; directives with these scripts as specified - ;; here (https://golang.org/cmd/cgo/) have not - ;; worked. The tests continue to state that they - ;; can not find crt1.o despite being present. - "cmd/go/testdata/script/list_compiled_imports.txt" - "cmd/go/testdata/script/mod_case_cgo.txt" - ;; https://github.com/golang/go/issues/24884 - "os/user/user_test.go")) + ;; A side effect of these test scripts is testing + ;; cgo. Attempts at using cgo flags and directives with these + ;; scripts as specified here (https://golang.org/cmd/cgo/) + ;; have not worked. The tests continue to state that they can + ;; not find object files/headers despite being present. + (for-each + delete-file + '("cmd/go/testdata/script/mod_case_cgo.txt" + "cmd/go/testdata/script/list_find.txt" + "cmd/go/testdata/script/list_compiled_imports.txt" + "cmd/go/testdata/script/cgo_syso_issue29253.txt")) (substitute* "os/os_test.go" (("/usr/bin") (getcwd)) @@ -499,7 +479,17 @@ in the style of communicating sequential processes (@dfn{CSP}).") (string-append before "Disabled" test_name))))) '(("net/net_test.go" "(.+)(TestShutdownUnix.+)") ("net/dial_test.go" "(.+)(TestDialTimeout.+)") + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPort.+)") + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPortWithCancel.+)") + ;; 127.0.0.1 doesn't exist + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTR.+)") + ;; 127.0.0.1 doesn't exist + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTRWithCancel.+)") + ;; /etc/services doesn't exist + ("net/parse_test.go" "(.+)(TestReadLine.+)") ("os/os_test.go" "(.+)(TestHostname.+)") + ;; The user's directory doesn't exist + ("os/os_test.go" "(.+)(TestUserHomeDir.+)") ("time/format_test.go" "(.+)(TestParseInSydney.+)") ("time/format_test.go" "(.+)(TestParseInLocation.+)") ("os/exec/exec_test.go" "(.+)(TestEcho.+)") @@ -535,23 +525,68 @@ in the style of communicating sequential processes (@dfn{CSP}).") (substitute* (find-files "cmd" "\\.go") (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader)) #t))) - ;; Prevent installation of the build cache, which contains store - ;; references to most of the tools used to build Go and would - ;; unnecessarily increase the size of Go's closure if it was - ;; installed. - ;; TODO This should be moved into the 'install' phase when Go 1.9 is - ;; removed. - (add-before 'install 'delete-extraneous-files - (lambda _ - (delete-file-recursively "../pkg/obj") - #t)) - (replace 'set-bootstrap-variables + (add-before 'build 'set-bootstrap-variables (lambda* (#:key outputs inputs #:allow-other-keys) ;; Tell the build system where to find the bootstrap Go. (let ((go (assoc-ref inputs "go"))) (setenv "GOROOT_BOOTSTRAP" go) (setenv "GOGC" "400") - #t))))))))) + #t))) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; FIXME: Some of the .a files are not bit-reproducible. + (let* ((output (assoc-ref outputs "out"))) + (setenv "CC" (which "gcc")) + (setenv "GOOS" "linux") + (setenv "GOROOT" (dirname (getcwd))) + (setenv "GOROOT_FINAL" output) + (setenv "CGO_ENABLED" "1") + (invoke "sh" "all.bash")))) + + (replace 'install + ;; TODO: Most of this could be factorized with Go 1.4. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((output (assoc-ref outputs "out")) + (doc_out (assoc-ref outputs "doc")) + (docs (string-append doc_out "/share/doc/" ,name "-" ,version)) + (src (string-append + (assoc-ref outputs "tests") "/share/" ,name "-" ,version))) + (delete-file-recursively "../pkg/bootstrap") + ;; Prevent installation of the build cache, which contains + ;; store references to most of the tools used to build Go and + ;; would unnecessarily increase the size of Go's closure if it + ;; was installed. + (delete-file-recursively "../pkg/obj") + + (mkdir-p src) + (copy-recursively "../test" (string-append src "/test")) + (delete-file-recursively "../test") + (mkdir-p docs) + (copy-recursively "../api" (string-append docs "/api")) + (delete-file-recursively "../api") + (copy-recursively "../doc" (string-append docs "/doc")) + (delete-file-recursively "../doc") + + (for-each + (lambda (file) + (let* ((filein (string-append "../" file)) + (fileout (string-append docs "/" file))) + (copy-file filein fileout) + (delete-file filein))) + ;; Note the slightly different file names compared to 1.4. + '("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS" + "LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt")) + + (copy-recursively "../" output) + #t))))))) + (native-inputs + `(("go" ,go-1.4) + ,@(match (%current-system) + ((or "armhf-linux" "aarch64-linux") + `(("gold" ,binutils-gold))) + (_ `())) + ,@(package-native-inputs go-1.4))) + (supported-systems %supported-systems))) (define-public go go-1.11) @@ -740,8 +775,8 @@ expressing configuration which is easy for both humans and machines to read.") (license license:mpl2.0)))) (define-public go-golang-org-x-crypto-bcrypt - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) + (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8") + (revision "2")) (package (name "go-golang-org-x-crypto-bcrypt") (version (git-version "0.0.0" revision commit)) @@ -754,22 +789,11 @@ expressing configuration which is easy for both humans and machines to read.") version "-checkout")) (sha256 (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/bcrypt" - #:unpack-path "golang.org/x/crypto" - #: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 - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) + #:unpack-path "golang.org/x/crypto")) (synopsis "Bcrypt in Go") (description "This package provides a Go implementation of the bcrypt password hashing function.") @@ -777,8 +801,8 @@ password hashing function.") (license license:bsd-3)))) (define-public go-golang-org-x-crypto-blowfish - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) + (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8") + (revision "2")) (package (name "go-golang-org-x-crypto-blowfish") (version (git-version "0.0.0" revision commit)) @@ -791,22 +815,11 @@ password hashing function.") version "-checkout")) (sha256 (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/blowfish" - #:unpack-path "golang.org/x/crypto" - #: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 - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) + #:unpack-path "golang.org/x/crypto")) (synopsis "Blowfish in Go") (description "This package provides a Go implementation of the Blowfish symmetric-key block cipher.") @@ -814,8 +827,8 @@ symmetric-key block cipher.") (license license:bsd-3)))) (define-public go-golang-org-x-crypto-pbkdf2 - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) + (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8") + (revision "2")) (package (name "go-golang-org-x-crypto-pbkdf2") (version (git-version "0.0.0" revision commit)) @@ -828,22 +841,11 @@ symmetric-key block cipher.") version "-checkout")) (sha256 (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/pbkdf2" - #:unpack-path "golang.org/x/crypto" - #: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 - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) + #:unpack-path "golang.org/x/crypto")) (synopsis "PBKDF2 in Go") (description "This package provides a Go implementation of the PBKDF2 key derivation function.") @@ -851,8 +853,8 @@ derivation function.") (license license:bsd-3)))) (define-public go-golang-org-x-crypto-tea - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) + (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8") + (revision "2")) (package (name "go-golang-org-x-crypto-tea") (version (git-version "0.0.0" revision commit)) @@ -865,22 +867,11 @@ derivation function.") version "-checkout")) (sha256 (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/tea" - #:unpack-path "golang.org/x/crypto" - #: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 - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) + #:unpack-path "golang.org/x/crypto")) (synopsis "Tiny Encryption Algorithm (TEA) in Go") (description "This packages a Go implementation of the Tiny Encryption Algorithm (TEA) block cipher.") @@ -888,8 +879,8 @@ Algorithm (TEA) block cipher.") (license license:bsd-3)))) (define-public go-golang-org-x-crypto-salsa20 - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) + (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8") + (revision "2")) (package (name "go-golang-org-x-crypto-salsa20") (version (git-version "0.0.0" revision commit)) @@ -902,22 +893,11 @@ Algorithm (TEA) block cipher.") version "-checkout")) (sha256 (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/salsa20" - #:unpack-path "golang.org/x/crypto" - #: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 - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) + #:unpack-path "golang.org/x/crypto")) (synopsis "Salsa20 in Go") (description "This packages provides a Go implementation of the Salsa20 stream cipher.") @@ -925,8 +905,8 @@ stream cipher.") (license license:bsd-3)))) (define-public go-golang-org-x-crypto-cast5 - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) + (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8") + (revision "2")) (package (name "go-golang-org-x-crypto-cast5") (version (git-version "0.0.0" revision commit)) @@ -939,22 +919,11 @@ stream cipher.") version "-checkout")) (sha256 (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/cast5" - #:unpack-path "golang.org/x/crypto" - #: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 - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) + #:unpack-path "golang.org/x/crypto")) (synopsis "Cast5 in Go") (description "This packages provides a Go implementation of the Cast5 symmetric-key block cipher.") @@ -962,8 +931,8 @@ symmetric-key block cipher.") (license license:bsd-3)))) (define-public go-golang-org-x-crypto-twofish - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) + (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8") + (revision "2")) (package (name "go-golang-org-x-crypto-twofish") (version (git-version "0.0.0" revision commit)) @@ -976,22 +945,11 @@ symmetric-key block cipher.") version "-checkout")) (sha256 (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/twofish" - #:unpack-path "golang.org/x/crypto" - #: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 - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) + #:unpack-path "golang.org/x/crypto")) (synopsis "Twofish in Go") (description "This packages provides a Go implementation of the Twofish symmetric-key block cipher.") @@ -999,8 +957,8 @@ symmetric-key block cipher.") (license license:bsd-3)))) (define-public go-golang-org-x-crypto-xtea - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) + (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8") + (revision "2")) (package (name "go-golang-org-x-crypto-xtea") (version (git-version "0.0.0" revision commit)) @@ -1013,22 +971,11 @@ symmetric-key block cipher.") version "-checkout")) (sha256 (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/xtea" - #:unpack-path "golang.org/x/crypto" - #: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 - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) + #:unpack-path "golang.org/x/crypto")) (synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go") (description "This package provides a Go implementation of the eXtended Tiny Encryption Algorithm (XTEA) block cipher.") @@ -1040,9 +987,19 @@ Tiny Encryption Algorithm (XTEA) block cipher.") (inherit go-golang-org-x-crypto-bcrypt) (name "go-golang-org-x-crypto-ed25519") (arguments - (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt) - ((#:import-path _) - "golang.org/x/crypto/ed25519"))) + `(#:import-path "golang.org/x/crypto/ed25519" + #:unpack-path "golang.org/x/crypto" + #: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 + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) (synopsis "ED25519 in Go") (description "This package provides a Go implementation of the ED25519 signature algorithm."))) @@ -1084,51 +1041,9 @@ hash algorithm."))) fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202."))) -;; Go searches for library modules by looking in the GOPATH environment -;; variable. This variable is a list of paths. However, Go does not -;; keep searching on GOPATH if it tries and fails to import a module. -;; So, we use a union for packages sharing a namespace. -(define* (go-golang-org-x-crypto-union #:optional - (packages (list go-golang-org-x-crypto-blowfish - go-golang-org-x-crypto-bcrypt - go-golang-org-x-crypto-tea - go-golang-org-x-crypto-xtea - go-golang-org-x-crypto-pbkdf2 - go-golang-org-x-crypto-twofish - go-golang-org-x-crypto-cast5 - go-golang-org-x-crypto-salsa20 - go-golang-org-x-crypto-ed25519 - go-golang-org-x-crypto-ripemd160 - go-golang-org-x-crypto-blake2s - go-golang-org-x-crypto-sha3))) - (package - (name "go-golang-org-x-crypto") - (version (package-version go-golang-org-x-crypto-bcrypt)) - (source #f) - (build-system trivial-build-system) - (arguments - '(#:modules ((guix build union)) - #:builder (begin - (use-modules (ice-9 match) - (guix build union)) - (match %build-inputs - (((names . directories) ...) - (union-build (assoc-ref %outputs "out") - directories) - #t))))) - (inputs (map (lambda (package) - (list (package-name package) package)) - packages)) - (synopsis "Union of the Go x crypto libraries") - (description "A union of the Golang cryptographic libraries. A -union is required because `go build` assumes that all of the headers and -libraries are in the same directory.") - (home-page (package-home-page go-golang-org-x-crypto-bcrypt)) - (license (package-license go-golang-org-x-crypto-bcrypt)))) - (define-public go-golang-org-x-net-ipv4 - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) + (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") + (revision "2")) (package (name "go-golang-org-x-net-ipv4") (version (git-version "0.0.0" revision commit)) @@ -1140,7 +1055,7 @@ libraries are in the same directory.") (file-name (git-file-name name version)) (sha256 (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/ipv4" @@ -1152,8 +1067,8 @@ socket options for the Internet Protocol version 4.") (license license:bsd-3)))) (define-public go-golang-org-x-net-bpf - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) + (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") + (revision "2")) (package (name "go-golang-org-x-net-bpf") (version (git-version "0.0.0" revision commit)) @@ -1166,7 +1081,7 @@ socket options for the Internet Protocol version 4.") version "-checkout")) (sha256 (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/bpf" @@ -1178,8 +1093,8 @@ Packet Filter (BPF) virtual machine.") (license license:bsd-3)))) (define-public go-golang-org-x-net-context - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) + (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") + (revision "2")) (package (name "go-golang-org-x-net-context") (version (git-version "0.0.0" revision commit)) @@ -1192,7 +1107,7 @@ Packet Filter (BPF) virtual machine.") version "-checkout")) (sha256 (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/context" @@ -1204,9 +1119,59 @@ request-scoped values across API boundaries and between processes.") (home-page "https://go.googlesource.com/net/") (license license:bsd-3)))) +(define-public go-golang-org-x-net-internal-socks + (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") + (revision "2")) + (package + (name "go-golang-org-x-net-internal-socks") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/net") + (commit commit))) + (file-name (string-append "go.googlesource.com-net-" + version "-checkout")) + (sha256 + (base32 + "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/net/internal/socks" + #:unpack-path "golang.org/x/net")) + (synopsis "") + (description "") + (home-page "https://go.googlesource.com/net/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-net-internal-socket + (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") + (revision "2")) + (package + (name "go-golang-org-x-net-internal-socket") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/net") + (commit commit))) + (file-name (string-append "go.googlesource.com-net-" + version "-checkout")) + (sha256 + (base32 + "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/net/internal/socket" + #:unpack-path "golang.org/x/net")) + (synopsis "") + (description "") + (home-page "https://go.googlesource.com/net/") + (license license:bsd-3)))) + (define-public go-golang-org-x-net-internal-iana - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) + (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") + (revision "2")) (package (name "go-golang-org-x-net-internal-iana") (version (git-version "0.0.0" revision commit)) @@ -1219,7 +1184,7 @@ request-scoped values across API boundaries and between processes.") version "-checkout")) (sha256 (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/internal/iana" @@ -1231,8 +1196,8 @@ number resources managed by the Internet Assigned Numbers Authority (IANA).") (license license:bsd-3)))) (define-public go-golang-org-x-net-ipv6 - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) + (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") + (revision "2")) (package (name "go-golang-org-x-net-ipv6") (version (git-version "0.0.0" revision commit)) @@ -1245,7 +1210,7 @@ number resources managed by the Internet Assigned Numbers Authority (IANA).") version "-checkout")) (sha256 (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/ipv6" @@ -1257,8 +1222,8 @@ IP-level socket options for the Internet Protocol version 6.") (license license:bsd-3)))) (define-public go-golang-org-x-net-proxy - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) + (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") + (revision "2")) (package (name "go-golang-org-x-net-proxy") (version (git-version "0.0.0" revision commit)) @@ -1271,7 +1236,7 @@ IP-level socket options for the Internet Protocol version 6.") version "-checkout")) (sha256 (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/proxy" @@ -1283,8 +1248,8 @@ for a variety of protocols to proxy network data.") (license license:bsd-3)))) (define-public go-golang-org-x-sys-unix - (let ((commit "83801418e1b59fb1880e363299581ee543af32ca") - (revision "1")) + (let ((commit "4d1cda033e0619309c606fc686de3adcf599539e") + (revision "2")) (package (name "go-golang-org-x-sys-unix") (version (git-version "0.0.0" revision commit)) @@ -1296,19 +1261,11 @@ for a variety of protocols to proxy network data.") (file-name (git-file-name name version)) (sha256 (base32 - "0ilykaanvnzb27d42kmbr4i37hcn7hgqbx98z945gy63aa8dskji")))) + "1wgaldbnkmh568v8kkgvnmkskaj96fqrbzhx23yji2kh1432q6gh")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/sys/unix" - #:unpack-path "golang.org/x/sys" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-tests - (lambda _ - (pk (getcwd)) - (substitute* "src/golang.org/x/sys/unix/syscall_unix_test.go" - (("/usr/bin") "/tmp")) - #t))))) + #:unpack-path "golang.org/x/sys")) (synopsis "Go support for low-level system interaction") (description "This package provides @code{unix}, which offers Go support for low-level interaction with the operating system.") @@ -1417,18 +1374,7 @@ limiting in Go.") `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) (arguments `(#:import-path "golang.org/x/crypto/ssh/terminal" - #:unpack-path "golang.org/x/crypto" - #: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 - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) + #:unpack-path "golang.org/x/crypto")) (synopsis "Terminal functions for Go") (description "This package provides @{terminal}, which implements support functions for dealing with terminals, as commonly found on UNIX @@ -2084,30 +2030,28 @@ 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 + (package + (name "go-github-com-mattn-go-isatty") + (version "0.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattn/go-isatty") + (commit (string-append "v" version)))) + (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)))) + (license license:expat))) (define-public go-github-com-mattn-go-colorable (let ((commit "efa589957cd060542a26d2dd7832fd6a6c6c3ade") @@ -2348,32 +2292,6 @@ 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")) @@ -2478,56 +2396,25 @@ and lookup requests. Browse requests are not supported yet.") (description "Go wrapper for taglib") (license license:unlicense)))) -(define* (go-github-com-gogo-protobuf-union - #:optional (packages (list go-github-com-gogo-protobuf - go-github-com-gogo-protobuf-protoc-gen-gogo))) +(define-public go-github-com-gogo-protobuf (package - (name "go-github-com-gogo-protobuf-union") - (version (package-version go-github-com-gogo-protobuf)) - (source #f) - (build-system trivial-build-system) + (name "go-github-com-gogo-protobuf") + (version "1.2.1") + (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 + "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m")))) + (build-system go-build-system) (arguments - '(#:modules ((guix build union)) - #:builder (begin - (use-modules (ice-9 match) - (guix build union)) - (match %build-inputs - (((names . directories) ...) - (union-build (assoc-ref %outputs "out") - directories) - #t))))) - (inputs (map (lambda (package) - (list (package-name package) package)) - packages)) - (synopsis "Union of Go protobuf libraries") - (description "This is a union of Go protobuf libraries") - (home-page (package-home-page go-github-com-gogo-protobuf)) - (license (package-license go-github-com-gogo-protobuf)))) - -(define-public go-github-com-gogo-protobuf - (let ((commit "160de10b2537169b5ae3e7e221d28269ef40d311") - (revision "2")) - (package - (name "go-github-com-gogo-protobuf") - (version (git-version "0.5" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/gogo/protobuf") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0hxq28sgxym04rv0q40gpwkh4ni359q21hq3g78wwxwx4qfd4zwm")))) - (build-system go-build-system) - (arguments - `(#:import-path "github.com/gogo/protobuf/proto" - #:unpack-path "github.com/gogo/protobuf")) - (propagated-inputs - `(("go-github-com-gogo-protobuf-protoc-gen-gogo" - ,go-github-com-gogo-protobuf-protoc-gen-gogo))) - (synopsis "Protocol Buffers for Go with Gadgets") - (description "Gogoprotobuf is a fork of golang/protobuf with extra code + `(#:import-path "github.com/gogo/protobuf/proto" + #:unpack-path "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 @@ -2537,30 +2424,29 @@ generation features. This code generation is used to achieve: @item peace of mind by optionally generating test and benchmark code @item other serialization formats @end itemize") - (home-page "https://github.com/gogo/protobuf") - (license license:bsd-3)))) + (home-page "https://github.com/gogo/protobuf") + (license license:bsd-3))) (define-public go-github-com-gogo-protobuf-protoc-gen-gogo - (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63") - (revision "0")) - (package - (name "go-github-com-gogo-protobuf-protoc-gen-gogo") - (version (git-version "0.2" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/gogo/protobuf") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw")))) - (build-system go-build-system) - (arguments - `(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo" - #:unpack-path "github.com/gogo/protobuf")) - (synopsis "Protocol Buffers for Go with Gadgets") - (description "Gogoprotobuf is a fork of golang/protobuf with extra code + (package + (name "go-github-com-gogo-protobuf-protoc-gen-gogo") + (version "1.2.1") + (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 + "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo" + #:unpack-path "github.com/gogo/protobuf" + #:tests? #f)) ; Requires the unpackaged 'protoc-min-version' + (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 @@ -2570,35 +2456,56 @@ generation features. This code generation is used to achieve: @item peace of mind by optionally generating test and benchmark code @item other serialization formats @end itemize") - (home-page "https://github.com/gogo/protobuf") - (license license:bsd-3)))) + (home-page "https://github.com/gogo/protobuf") + (license license:bsd-3))) + +(define-public go-github-com-gogo-protobuf-gogoproto + (package + (name "go-github-com-gogo-protobuf-gogoproto") + (version "1.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gogo/protobuf.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m")))) + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/gogo/protobuf" + #:import-path "github.com/gogo/protobuf/gogoproto")) + (home-page "https://github.com/gogo/protobuf") + (synopsis "Extensions to protocol buffers") + (description "This package provides extensions to the Gogo protocol buffers +implementation.") + (license license:bsd-3))) (define-public go-github-com-gogo-protobuf-proto - (let ((commit - "fd322a3c49630fe6d05737e2b7d9426e6680e28d") - (revision "0")) - (package - (name "go-github-com-gogo-protobuf-proto") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/gogo/protobuf.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1zi85584dy91hyrwpanygz1pppi0chn3hzzv128i83i6j45a5fp9")))) - (build-system go-build-system) - (arguments - '(#:unpack-path "github.com/gogo/protobuf" - #:import-path "github.com/gogo/protobuf/proto")) - (native-inputs `()) - (home-page "https://github.com/gogo/protobuf") - (synopsis "XXX") - (description "XXX") - (license license:expat)))) + (package + (name "go-github-com-gogo-protobuf-proto") + (version "1.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gogo/protobuf.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m")))) + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/gogo/protobuf" + #:import-path "github.com/gogo/protobuf/proto")) + (home-page "https://github.com/gogo/protobuf") + (synopsis "Protocol buffers component") + (description "This is a component of the Gogo protocol buffers +implementation.") + (license license:bsd-3))) (define-public go-github-com-libp2p-go-flow-metrics (let ((commit "7e5a55af485341567f98d6847a373eb5ddcdcd43") @@ -2733,8 +2640,8 @@ needing to use secp256k1 elliptic curve cryptography.") (license license:isc)))) (define-public go-github-com-minio-sha256-simd - (let ((commit "51976451ce1942acbb55707a983ed232fa027110") - (revision "2")) + (let ((commit "cc1980cb03383b1d46f518232672584432d7532d") + (revision "3")) (package (name "go-github-com-minio-sha256-simd") (version (git-version "0.0.0" revision commit)) @@ -2747,7 +2654,7 @@ needing to use secp256k1 elliptic curve cryptography.") (file-name (git-file-name name version)) (sha256 (base32 - "0kaxvpidf6ygkkb06vi95pirll31jnmywhyalfjvf7djhim2wr8f")))) + "04fp98nal0wsb26zwhw82spn5camxslc68g3xp8g4af9w6k9g31j")))) (build-system go-build-system) (arguments '(#:import-path "github.com/minio/sha256-simd")) @@ -2936,7 +2843,8 @@ required by Go's standard Hash interface.") ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) - ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)))) + ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s) + ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3))) (home-page "https://github.com/multiformats/go-multihash") (synopsis "Multihash implementation in Go") (description "Multihash implementation in Go.") @@ -2971,7 +2879,9 @@ required by Go's standard Hash interface.") ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) - ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)))) + ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s) + ("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519) + ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3))) (home-page "https://github.com/libp2p/go-libp2p-peer") (synopsis "PKI based identities for use in go-libp2p") (description "PKI based identities for use in @command{go-libp2p}.") @@ -3034,7 +2944,9 @@ required by Go's standard Hash interface.") ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) - ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)))) + ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3) + ("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519) + ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s))) (home-page "https://github.com/libp2p/go-libp2p-metrics") (synopsis "Connection wrapper for go-libp2p that provides bandwidth metrics") (description "A connection wrapper for @command{go-libp2p} that provides bandwidth @@ -3107,7 +3019,8 @@ cross-compilation.") ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) - ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)))) + ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3) + ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s))) (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 @@ -3151,7 +3064,8 @@ does the following: ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) - ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)))) + ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3) + ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s))) (home-page "https://github.com/multiformats/go-multiaddr-net") (synopsis "Multiaddress net tools") (description "This package provides Multiaddr specific versions of @@ -3245,11 +3159,11 @@ as conversion to and from @command{net.Addr}.") (license license:expat)))) (define-public go-github-com-urfave-cli - (let ((commit "934abfb2f102315b5794e15ebc7949e4ca253920") + (let ((commit "693af58b4d51b8fcc7f9d89576da170765980581") (revision "0")) (package (name "go-github-com-urfave-cli") - (version (git-version "1.19.1" revision commit)) + (version (git-version "1.20.0" revision commit)) (source (origin (method git-fetch) @@ -3259,7 +3173,7 @@ as conversion to and from @command{net.Addr}.") (file-name (git-file-name name version)) (sha256 (base32 - "0c5r8pgj3k48dfcwj8lw3cxkwkl8vh0fhvz5snfdwd0bcxdqx1yq")))) + "1krq752xgy658an1696vf4dc2zmp541clwjinhn11394sx2qksh6")))) (build-system go-build-system) (arguments '(#:import-path "github.com/urfave/cli")) @@ -3394,3 +3308,81 @@ have super fancy logs.") (description "This package provides a library for parsing the dotenv format in Go.") (license license:expat)))) + +(define-public go-github-com-kr-pretty + (package + (name "go-github-com-kr-pretty") + (version "0.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kr/pretty.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp")))) + (build-system go-build-system) + (propagated-inputs + `(("go-github-com-kr-text" ,go-github-com-kr-text))) + (arguments + '(#:import-path "github.com/kr/pretty")) + (synopsis "A pretty printer for Go values") + (description "This package provides a pretty printer for Go values.") + (home-page "https://github.com/kr/pretty") + (license license:expat))) + +(define-public go-github-com-kr-text + (package + (name "go-github-com-kr-text") + (version "0.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kr/text.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/kr/text")) + (synopsis "Text formatting in Go") + (description "This package provides a text formatting functions in Go.") + (home-page "https://github.com/kr/text") + (license license:expat))) + +(define-public go-github-com-burntsushi-locker + (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a") + (revision "0")) + (package + (name "go-github-com-burntsushi-locker") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BurntSushi/locker") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xak4aync4klswq5217qvw191asgla51jr42y94vp109lirm5dzg")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/BurntSushi/locker")) + (home-page "https://github.com/BurntSushi/locker") + (synopsis "Manage named ReadWrite mutexes in Go") + (description "Golang package for conveniently using named read/write +locks. These appear to be especially useful for synchronizing access to +session based information in web applications. + +The common use case is to use the package level functions, which use a package +level set of locks (safe to use from multiple goroutines +simultaneously). However, you may also create a new separate set of locks +test. + +All locks are implemented with read-write mutexes. To use them like a regular +mutex, simply ignore the RLock/RUnlock functions.") + (license license:unlicense)))) |