summary refs log tree commit diff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2024-06-07 22:29:02 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-07-03 22:23:22 +0100
commitd6baae35034395ea4d00c96e839086f7817b0d85 (patch)
tree5f39d307773ef98a3a6130604b24d4ecaef32e0c
parentd36c8fb18cf0787c8b200f31a67894def20ad10b (diff)
downloadguix-d6baae35034395ea4d00c96e839086f7817b0d85.tar.gz
gnu: Add go-github-com-gookit-color.
* gnu/packages/golang-xyz.scm (go-github-com-gookit-color): New variable.

Change-Id: I7caa860ae1605fff0da7490ec46ff816cad38143
-rw-r--r--gnu/packages/golang-xyz.scm61
1 files changed, 61 insertions, 0 deletions
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index e7fabd6b94..78bc6dd71b 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -1772,6 +1772,67 @@ the library more lightweight.")
      "This package provides a Go implementation of globs.")
     (license license:expat)))
 
+(define-public go-github-com-gookit-color
+  (package
+    (name "go-github-com-gookit-color")
+    (version "1.5.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gookit/color")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "012naz084chvdqzrrzv9pklqfh259hi2jcp2f3n39fppvjwmzgkf"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:go go-1.21
+      #:import-path "github.com/gookit/color"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-failing-tests
+            (lambda* (#:key import-path #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                ;; Error: Received unexpected
+                ;; error: open README.md: permission denied.
+                ;; Reported upstream, see
+                ;; <https://github.com/gookit/color/pull/91>.
+                (substitute* "utils_test.go"
+                  (("os.O_WRONLY") "os.O_RDONLY"))))))))
+    (native-inputs
+     (list go-github-com-stretchr-testify))
+    (propagated-inputs
+     (list go-github-com-xo-terminfo
+           go-golang-org-x-sys))
+    (home-page "https://github.com/gookit/color")
+    (synopsis "Terminal color rendering library")
+    (description
+     "This package provides a command-line color library with 16/256/True
+color support, universal API methods and Windows support.
+
+Features:
+@itemize
+@item supports rich color output: 16-color (4-bit), 256-color (8-bit), true
+color (24-bit, RGB)
+@item support converts HEX HSL value to RGB color
+@item generic API methods: @code{Print}, @code{Printf}, @code{Println},
+@code{Sprint}, @code{Sprintf}
+@item supports HTML tag-style color rendering, such as @code{<green>message</>
+<fg=red;bg=blue>text</>}
+@item basic colors: @code{Bold}, @code{Black}, @code{White}, @code{Gray},
+@code{Red}, @code{Green}, @code{Yellow}, @code{Blue}, @code{Magenta},
+@code{Cyan}
+@item additional styles: @code{Info}, @code{Note}, @code{Light}, @code{Error},
+@code{Danger}, @code{Notice}, @code{Success}, @code{Comment}, @code{Primary},
+@code{Warning}, @code{Question}, @code{Secondary}
+@item support by set @code{NO_COLOR} for disable color or use
+@code{FORCE_COLOR} for force open color render
+@item support RGB, 256, 16 color conversion
+@end itemize")
+    (license license:expat)))
+
 (define-public go-github-com-hashicorp-errwrap
   (package
     (name "go-github-com-hashicorp-errwrap")