diff mbox series

[bug#54882,v2] gnu: Add hut.

Message ID 20220425135645.24457-1-contact@dhruvin.dev
State Accepted
Headers show
Series [bug#54882,v2] gnu: Add hut. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Dhruvin Gandhi April 25, 2022, 1:56 p.m. UTC
* gnu/packages/version-control.scm (hut): New variable.
---
 gnu/packages/golang.scm          | 118 +++++++++++++++++++++++++++++++
 gnu/packages/version-control.scm |  43 +++++++++++
 2 files changed, 161 insertions(+)

Comments

Dhruvin Gandhi June 2, 2022, 5:51 a.m. UTC | #1
I've made requested changes. Can anyone please review this patch?
diff mbox series

Patch

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 820e6b54ab..8b28546095 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -34,6 +34,7 @@ 
 ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
 ;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
 ;;; Copyright © 2022 Pier-Hugues Pellerin <phpellerin@gmail.com>
+;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -9775,3 +9776,120 @@  (define-public go-github-com-go-chi-chi-v5
      "@code{go-github-com-go-chi-chi-v5} is an HTTP router that lets the user
 decompose request handling into many smaller layers.")
     (license license:expat)))
+
+(define-public go-github-com-google-shlex
+  (package
+    (name "go-github-com-google-shlex")
+    (version "0.0.0-20191202100458-e7afc7fbc510")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/google/shlex")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "14z8hqyik910wk2qwnzgz8mjsmiamxa0pj55ahbv0jx6j3dgvzfm"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "github.com/google/shlex"))
+    (home-page "https://github.com/google/shlex")
+    (synopsis "Lexer for go that supports shell-style quoting, commenting,
+and escaping")
+    (description
+      "Package shlex implements a simple lexer which splits input in to tokens using
+shell-style rules for quoting and commenting.")
+    (license license:asl2.0)))
+
+(define-public go-git-sr-ht--emersion-go-scfg
+  (package
+    (name "go-git-sr-ht--emersion-go-scfg")
+    (version "0.0.0-20211215104734-c2c7a15d6c99")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://git.sr.ht/~emersion/go-scfg")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "02gn8hz8zfv8y0krysx2wv951gw8hmhdfqf1ysidwm7i293365w4"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "git.sr.ht/~emersion/go-scfg"))
+    (propagated-inputs
+      `(("go-github-com-google-shlex" ,go-github-com-google-shlex)
+        ("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)))
+    (home-page "https://git.sr.ht/~emersion/go-scfg")
+    (synopsis "Library to parse scfg files")
+    (description "Package scfg parses configuration files.")
+    (license license:expat)))
+
+(define-public go-git-sr-ht--emersion-gqlclient
+  (package
+    (name "go-git-sr-ht--emersion-gqlclient")
+    (version "0.0.0-20220202181617-4e6e9c763dd2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://git.sr.ht/~emersion/gqlclient")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1d9hmaz7yy02bk455gmaav818xi49sw69jyx6dxzymv6ln7r1cv1"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "git.sr.ht/~emersion/gqlclient"))
+    (home-page "https://git.sr.ht/~emersion/gqlclient")
+    (synopsis "GraphQL client and code generator")
+    (description
+      "This package provides a GraphQL client and code generator for Go.")
+    (license license:expat)))
+
+(define-public go-github-com-juju-ansiterm
+  (package
+    (name "go-github-com-juju-ansiterm")
+    (version "0.0.0-20210929141451-8b71cc96ebdc")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/juju/ansiterm")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "05mk7mlvg11dd6b0j0wlq547ghbmx2ywwrlbcb4kddpg7qaqp1va"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "github.com/juju/ansiterm"))
+    (propagated-inputs
+      `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)
+        ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
+        ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable)
+        ("go-github-com-lunixbochs-vtclean"
+         ,go-github-com-lunixbochs-vtclean)))
+    (home-page "https://github.com/juju/ansiterm")
+    (synopsis "Writer to output ANSI escape codes for color and styles")
+    (description
+      "Package ansiterm provides a Writer that writes out the ANSI escape codes for
+color and styles.")
+    (license license:lgpl3)))
+
+(define-public go-github-com-lunixbochs-vtclean
+  (package
+    (name "go-github-com-lunixbochs-vtclean")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/lunixbochs/vtclean")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0jqn33l1kzy4dk66zbvxz7rlgkgg34s9mhc8z0lrz0i88466zhd8"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "github.com/lunixbochs/vtclean"))
+    (home-page "https://github.com/lunixbochs/vtclean")
+    (synopsis "Filter out terminal escape sequences")
+    (description
+      "Clean up raw terminal output by stripping escape sequences, optionally
+preserving color.")
+    (license license:expat)))
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 03c0d4420d..b5b3d1a1ae 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -44,6 +44,7 @@ 
 ;;; Copyright © 2021 jgart <jgart@dismail.de>
 ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
+;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -103,6 +104,7 @@  (define-module (gnu packages version-control)
   #:use-module (gnu packages image)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages mail)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages nano)
   #:use-module (gnu packages ncurses)
@@ -3330,3 +3332,44 @@  (define-public git-filter-repo
 Git project instead of @command{git filter-branch}.")
     (license (list license:expat ;; Main license.
                    license:gpl2)))) ;; For test harness.
+
+(define-public hut
+  (package
+    (name "hut")
+    (version "0.1.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://git.sr.ht/~emersion/hut")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "15ag8fibnahcfgd0w2j4k813z10ymi39rx8d3c8b9955zc62p1fr"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "git.sr.ht/~emersion/hut"
+        #:phases (modify-phases %standard-phases
+          (replace 'build
+            (lambda* (#:key import-path #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                ;; From guix/build/go-build-system.scm
+                (setenv "CGO_LDFLAGS" "-s -w")
+                (invoke "make" "all" "GOFLAGS=-v -x"))))
+          (replace 'install
+            (lambda* (#:key import-path outputs #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                (invoke "make" "install"
+                  (string-append "PREFIX=" (assoc-ref outputs "out")))))))))
+    (native-inputs
+      `(("scdoc" ,scdoc)
+        ("go-golang-org-x-term" ,go-golang-org-x-term)
+        ("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2)
+        ("go-github-com-spf13-cobra" ,go-github-com-spf13-cobra)
+        ("go-github-com-juju-ansiterm" ,go-github-com-juju-ansiterm)
+        ("go-git-sr-ht--emersion-gqlclient" ,go-git-sr-ht--emersion-gqlclient)
+        ("go-git-sr-ht--emersion-go-scfg" ,go-git-sr-ht--emersion-go-scfg)))
+    (home-page "https://git.sr.ht/~emersion/hut")
+    (synopsis "CLI tool for sr.ht")
+    (description "This package provides a CLI tool for sr.ht.")
+    (license license:agpl3)))