summaryrefslogtreecommitdiff
path: root/gnu/packages/syncthing.scm
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-10-11 20:24:56 -0400
committerLeo Famulari <leo@famulari.name>2017-10-12 21:22:54 -0400
commitcca22eb31a23b77e7b5f878a23daec89b9537ba8 (patch)
tree1f9c3f308de3fc7a1ffbcbb23ed48f6014748c63 /gnu/packages/syncthing.scm
parent3d86b557c6c03187661bf2e3a9c0cb0864baa671 (diff)
gnu: Add go-golang-org-x-crypto-union.
* gnu/packages/syncthing.scm (go-golang-org-x-crypto-union): New variable.
Diffstat (limited to 'gnu/packages/syncthing.scm')
-rw-r--r--gnu/packages/syncthing.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 840a4d951e..c688bbc7ae 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -19,6 +19,7 @@
(define-module (gnu packages syncthing)
#:use-module (guix build-system go)
+ #:use-module (guix build-system trivial)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix licenses))
@@ -688,6 +689,43 @@ generation.")
(home-page "https://github.com/vitrun/qart")
(license bsd-3))))
+;; 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)))
+ (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))))))
+ (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-crypto-bcrypt
(let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
(revision "0"))