guix-commits
[Top][All Lists]
Advanced

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

05/60: gnu: Add go-github-com-imdario-mergo.


From: guix-commits
Subject: 05/60: gnu: Add go-github-com-imdario-mergo.
Date: Sun, 9 Aug 2020 10:24:51 -0400 (EDT)

wigust pushed a commit to branch master
in repository guix.

commit 0b7442491efb1a1cfe3b7e736bf94aec7fef9768
Author: Oleg Pykhalov <go.wigust@gmail.com>
AuthorDate: Sat Aug 8 22:51:16 2020 +0300

    gnu: Add go-github-com-imdario-mergo.
    
    * gnu/packages/golang.scm (go-github-com-imdario-mergo): New variable.
---
 gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c64d5dc..9c984c8 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)))



reply via email to

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