guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

57/62: gnu: Add go-golang-org-x-crypto-union.


From: Leo Famulari
Subject: 57/62: gnu: Add go-golang-org-x-crypto-union.
Date: Thu, 12 Oct 2017 21:43:45 -0400 (EDT)

lfam pushed a commit to branch master
in repository guix.

commit cca22eb31a23b77e7b5f878a23daec89b9537ba8
Author: Leo Famulari <address@hidden>
Date:   Wed Oct 11 20:24:56 2017 -0400

    gnu: Add go-golang-org-x-crypto-union.
    
    * gnu/packages/syncthing.scm (go-golang-org-x-crypto-union): New variable.
---
 gnu/packages/syncthing.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 840a4d9..c688bbc 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"))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]