From 830dc25176349112c759ba3986c721089e9ec605 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 24 Oct 2018 10:57:43 +0200 Subject: gnu: Move go-golang-org-x-crypto-union from syncthing.scm to golang.scm * gnu/packages/syncthing.scm (go-golang-org-x-crypto-union): Delete. * gnu/packages/golang.scm (go-golang-org-x-crypto-union): Add. --- gnu/packages/golang.scm | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'gnu/packages/golang.scm') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 9c81534205..f59ddd1386 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -36,6 +36,7 @@ #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (guix build-system go) #:use-module (gnu packages admin) #:use-module (gnu packages gcc) @@ -47,7 +48,8 @@ #:use-module (gnu packages mp3) #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:export (go-github-com-gogo-protobuf-union)) + #:export (go-github-com-gogo-protobuf-union) + #:export (go-golang-org-x-crypto-union)) ;; 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 @@ -988,6 +990,44 @@ Tiny Encryption Algorithm (XTEA) block cipher.") (home-page "https://go.googlesource.com/crypto/") (license 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) + #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")) -- cgit v1.2.3