summaryrefslogtreecommitdiff
path: root/gnu/packages/golang.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r--gnu/packages/golang.scm93
1 files changed, 80 insertions, 13 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e7c2d228cc..f11cc76d9c 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -196,10 +197,10 @@
(home-page "https://golang.org/")
(synopsis "Compiler and libraries for Go, a statically-typed language")
(description "Go, also commonly referred to as golang, is an imperative
-programming language. Designed primarily for systems programming, it is a
-compiled, statically typed language in the tradition of C and C++, with
-garbage collection, various safety features and in the style of communicating
-sequential processes (CSP) concurrent programming features added.")
+programming language designed primarily for systems programming. Go is a
+compiled, statically typed language in the tradition of C and C++, but adds
+garbage collection, various safety features, and concurrent programming features
+in the style of communicating sequential processes (@dfn{CSP}).")
(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
(license license:bsd-3)))
@@ -207,7 +208,7 @@ sequential processes (CSP) concurrent programming features added.")
(package
(inherit go-1.4)
(name "go")
- (version "1.9.2")
+ (version "1.9.4")
(source
(origin
(method url-fetch)
@@ -215,7 +216,7 @@ sequential processes (CSP) concurrent programming features added.")
name version ".src.tar.gz"))
(sha256
(base32
- "1p23n4xzbknl3bbhlckbvxbhpxknd5rn0i2szmn9i2dcz15ihpv6"))))
+ "01nw8rfvf10naja0wq0kabsm012sbqq76hd4b8c7g28n6ggshwq5"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@@ -300,13 +301,6 @@ sequential processes (CSP) concurrent programming features added.")
(substitute* "../misc/cgo/testcarchive/carchive_test.go"
(("#!/usr/bin/env") (string-append "#!" (which "env"))))
- ;; Escape braces in test data to workaround test failure. For
- ;; more information:
- ;; https://github.com/golang/go/issues/20007
- ;; FIXME: remove this once we upgrade to 1.9
- (substitute* "cmd/vet/testdata/copylock_func.go"
- (("struct\\{lock sync.Mutex\\}") "struct\\{lock sync.Mutex\\}"))
-
(substitute* "net/lookup_unix.go"
(("/etc/protocols") (string-append net-base "/etc/protocols")))
(substitute* "net/port_unix.go"
@@ -452,3 +446,76 @@ interfaces in Go. The goal is to enable developers to write fast and
distributable command line applications in an expressive way.")
(home-page "https://github.com/davidjpeacock/cli")
(license license:expat))))
+
+(define-public go-github.com-jessevdk-go-flags
+ (package
+ (name "go-github.com-jessevdk-go-flags")
+ (version "1.3.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jessevdk/go-flags")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jk2k2l10lwrn1r3nxdvbs0yz656830j4khzirw8p4ahs7c5zz36"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/jessevdk/go-flags"))
+ (synopsis "Go library for parsing command line arguments")
+ (description
+ "The @code{flags} package provides a command line option parser. The
+functionality is similar to the go builtin @code{flag} package, but
+@code{flags} provides more options and uses reflection to provide a succinct
+way of specifying command line options.")
+ (home-page "https://github.com/jessevdk/go-flags")
+ (license license:bsd-3)))
+
+(define-public go-gopkg.in-tomb.v2
+ (let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c")
+ (revision "0"))
+ (package
+ (name "go-gopkg.in-tomb.v2")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-tomb/tomb.git")
+ (commit commit)))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1sv15sri99szkdz1bkh0ir46w9n8prrwx5hfai13nrhkawfyfy10"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "gopkg.in/tomb.v2"))
+ (synopsis "@code{tomb} handles clean goroutine tracking and termination")
+ (description
+ "The @code{tomb} package handles clean goroutine tracking and
+termination.")
+ (home-page "https://gopkg.in/tomb.v2")
+ (license license:bsd-3))))
+
+(define-public go-github.com-jtolds-gls
+ (package
+ (name "go-github.com-jtolds-gls")
+ (version "4.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jtolds/gls")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1vm37pvn0k4r6d3m620swwgama63laz8hhj3pyisdhxwam4m2g1h"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/jtolds/gls"))
+ (synopsis "@code{gls} provides Goroutine local storage")
+ (description
+ "The @code{gls} package provides a way to store a retrieve values
+per-goroutine.")
+ (home-page "https://github.com/jtolds/gls")
+ (license license:expat)))