diff options
author | Oleg Pykhalov <go.wigust@gmail.com> | 2020-08-08 22:51:16 +0300 |
---|---|---|
committer | Oleg Pykhalov <go.wigust@gmail.com> | 2020-08-09 17:19:17 +0300 |
commit | 0b7442491efb1a1cfe3b7e736bf94aec7fef9768 (patch) | |
tree | 779a009f40aac2410407f1b2e7e9f6c725fcea7b | |
parent | 75a0cab4a1e49ea46c1cace63efa40c3ad94143a (diff) | |
download | guix-patches-0b7442491efb1a1cfe3b7e736bf94aec7fef9768.tar guix-patches-0b7442491efb1a1cfe3b7e736bf94aec7fef9768.tar.gz |
gnu: Add go-github-com-imdario-mergo.
* gnu/packages/golang.scm (go-github-com-imdario-mergo): New variable.
-rw-r--r-- | gnu/packages/golang.scm | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index c64d5dcfc5..9c984c83ea 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -4358,4 +4358,33 @@ semantic versions. Specifically it provides the ability to: (description "Go package xstrings is a collection of string functions, which are widely used in other languages but absent in Go package strings.") (license license:expat))) + +(define-public go-github-com-imdario-mergo + (package + (name "go-github-com-imdario-mergo") + (version "0.3.10") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/imdario/mergo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09h765p8yby9r8s0a3hv5kl8n2i382mda76wmvk48w1cc1w9s92p")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/imdario/mergo")) + (native-inputs + `(("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2))) + (home-page "https://github.com/imdario/mergo/") + (synopsis "Helper to merge structs and maps in Golang") + (description "Helper to merge structs and maps in Golang. Useful for +configuration default values, avoiding messy if-statements. + +Mergo merges same-type structs and maps by setting default values in +zero-value fields. Mergo won't merge unexported (private) fields. It will do +recursively any exported one. It also won't merge structs inside +maps (because they are not addressable using Go reflection).") + (license license:bsd-3))) (license license:expat))) |