guix-commits
[Top][All Lists]
Advanced

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

17/17: gnu: Add checkmake.


From: guix-commits
Subject: 17/17: gnu: Add checkmake.
Date: Wed, 21 Aug 2024 09:49:52 -0400 (EDT)

sharlatan pushed a commit to branch master
in repository guix.

commit 7a149c6003d25e8b2794b113d34062be134d7710
Author: gemmaro <gemmaro.dev@gmail.com>
AuthorDate: Sun Aug 18 15:35:42 2024 +0900

    gnu: Add checkmake.
    
    * gnu/packages/check.scm (checkmake): New variable.
    
    Change-Id: Ic60c5c6d6cb66ff3a5760e11df741c5a4d7e7a4d
    Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
    Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
 gnu/packages/check.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index d76e6f8c95..839b98b8eb 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -51,6 +51,7 @@
 ;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2024 Navid Afkhami <navid.afkhami@mdc-berlin.de>
+;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -83,6 +84,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages golang-build)
+  #:use-module (gnu packages golang-check)
   #:use-module (gnu packages golang-xyz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -277,6 +279,51 @@ source code editors and IDEs.")
               (base32
                "0d22h8xshmbpl9hba9ch3xj8vb9ybm5akpsbbh7yj07fic4h2hj6"))))))
 
+(define-public checkmake
+  (package
+    (name "checkmake")
+    (version "0.2.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/mrtazz/checkmake";)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1ajrgnm5mg4b317brx53b8cpjvdw6vin1rk6yh9vrhrz014ifps2"))
+       (modules '((guix build utils)))
+       (snippet `(begin
+                   (delete-file-recursively "vendor")))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:instal-source? #f
+      #:import-path "github.com/mrtazz/checkmake"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'install 'install-man
+            (lambda* (#:key import-path #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                (let ((man-dir (string-append #$output "/share/man")))
+                  (mkdir-p man-dir)
+                  (invoke "go-md2man"
+                          "-in" "man/man1/checkmake.1.md"
+                          "-out" (string-append man-dir "/man1")))))))))
+    (native-inputs
+     (list go-github-com-docopt-docopt-go
+           go-github-com-go-ini-ini
+           go-github-com-go-md2man
+           go-github-com-olekukonko-tablewriter
+           go-github-com-stretchr-testify))
+    (home-page "https://github.com/mrtazz/checkmake";)
+    (synopsis "Linter and analyzer for @file{Makefile}")
+    (description
+     "@samp{checkmake} is an experimental tool for linting and checking
+Makefiles.  It allows for a set of configurable rules being run
+against a @file{Makefile} or a set of @file{*.mk} files.")
+    (license license:expat)))
+
 ;;; XXX: This project is abandoned upstream, and included in modern catch2
 ;;; releases.  It is still depended by the restinio test suite at this time,
 ;;; so keep it (see: https://github.com/Stiffstream/restinio/issues/181).



reply via email to

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