[PATCH 0/3] Add git-sizer.

  • Done
  • quality assurance status badge
Details
2 participants
  • Greg Hogan
  • Ludovic Courtès
Owner
unassigned
Submitted by
Greg Hogan
Severity
normal
G
G
Greg Hogan wrote on 30 Jan 21:06 +0100
(address . guix-patches@gnu.org)(name . Greg Hogan)(address . code@greghogan.com)
cover.1706642957.git.code@greghogan.com
Greg Hogan (3):
gnu: Add go-github-com-cli-safeexec.
gnu: Add go-go-uber-org-goleak.
gnu: Add git-sizer.

gnu/packages/golang.scm | 55 ++++++++++++++++++++++++++++++++
gnu/packages/version-control.scm | 48 ++++++++++++++++++++++++++++
2 files changed, 103 insertions(+)


base-commit: bef2560c6c4240664c5a9f773a38e2e917adcace
--
2.43.0
G
G
Greg Hogan wrote on 30 Jan 21:08 +0100
[PATCH 1/3] gnu: Add go-github-com-cli-safeexec.
(address . 68829@debbugs.gnu.org)(name . Greg Hogan)(address . code@greghogan.com)
8ced95f4ee5cfbd18cf077dba817357969bd33b1.1706645122.git.code@greghogan.com
* gnu/packages/golang.scm (go-github-com-cli-safeexec): New variable.

Change-Id: Ibc183f5185de16b4d6528697cbc85183a3282733
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 64f7981a7d..8b62e9088a 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -43,6 +43,7 @@
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2024 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5312,6 +5313,28 @@ (define-public misspell
locale can be selected.")
(license license:expat)))
+(define-public go-github-com-cli-safeexec
+ (package
+ (name "go-github-com-cli-safeexec")
+ (version "1.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cli/safeexec")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0j6hspjx9kyxn98nbisawx6wvbi1d6rpzr6p2rzhllm673wibwr3"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/cli/safeexec"))
+ (home-page "https://github.com/cli/safeexec")
+ (synopsis "Safe implementation of Go's exec.Command")
+ (description "This package provides a Go module that provides a stabler
+alternative to @@code{exec.LookPath()}.")
+ (license license:bsd-2)))
+
(define-public go-github-com-client9-misspell
(package
(inherit misspell)
--
2.43.0
G
G
Greg Hogan wrote on 30 Jan 21:08 +0100
[PATCH 2/3] gnu: Add go-go-uber-org-goleak.
(address . 68829@debbugs.gnu.org)(name . Greg Hogan)(address . code@greghogan.com)
178b0413c106ab83a88ae2cc7511ac1b160c7623.1706645122.git.code@greghogan.com
* gnu/packages/golang.scm (go-go-uber-org-goleak): New variable.

Change-Id: I4dd8f244c44ced8910752f67b318c4e39d5acd74
---
gnu/packages/golang.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 8b62e9088a..e5b8597e01 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9946,6 +9946,38 @@ (define-public go-git-sr-ht-sircmpwn-getopt
@code{getopt} for Go.")
(license license:bsd-3)))
+(define-public go-go-uber-org-goleak
+ (package
+ (name "go-go-uber-org-goleak")
+ (version "1.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uber-go/goleak")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1lpqw7ygffak8qki9i4vw8b99l25l8jrw8iwcplqsclk6fzkl24p"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:tests? #f
+ #:import-path "go.uber.org/goleak"))
+ (propagated-inputs
+ (list go-github-com-davecgh-go-spew
+ go-github-com-kr-pretty
+ go-github-com-pmezard-go-difflib
+ go-github-com-stretchr-testify
+ go-golang-org-x-lint
+ go-golang-org-x-tools
+ go-gopkg-in-check-v1
+ go-gopkg-in-yaml-v3))
+ (home-page "https://go.uber.org/goleak")
+ (synopsis "Goroutine leak detector")
+ (description "Go package to verify that there are no unexpected goroutines
+running at the end of a test.")
+ (license license:expat)))
+
(define-public go-go-uber-org-atomic
(package
(name "go-go-uber-org-atomic")
--
2.43.0
G
G
Greg Hogan wrote on 30 Jan 21:08 +0100
[PATCH 3/3] gnu: Add git-sizer.
(address . 68829@debbugs.gnu.org)(name . Greg Hogan)(address . code@greghogan.com)
ba86d4c5c7758c78df4667b3bb3163f5b25e2e5e.1706645122.git.code@greghogan.com
* gnu/packages/version-control.scm (git-sizer): New variable.

Change-Id: I82a61e364782dabfd59d0e81ff310fa916b5ff23
---
gnu/packages/version-control.scm | 48 ++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index bed4c65c0a..33f9d87f34 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -4000,3 +4000,51 @@ (define-public commit-patch
comes as a command line app and also an Emacs interface.")
(home-page "https://porkrind.org/commit-patch/")
(license license:gpl2+)))
+
+(define-public git-sizer
+ (package
+ (name "git-sizer")
+ (version "1.5.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/github/git-sizer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1b4sl4djnfaxwph41y4bh9yal4bpd1nz4403ryp7nzna7h2x0zis"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/github/git-sizer"
+ #:install-source? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* '("src/github.com/github/git-sizer/git_sizer_test.go")
+ (("bin/git-sizer")
+ (string-append (assoc-ref outputs "out")
+ "/bin/git-sizer")))))
+ (replace 'check
+ (lambda* (#:key import-path #:allow-other-keys)
+ (for-each (lambda (test)
+ (invoke "go" "test" "-v" "-run" test import-path))
+ ;; TestExec and TestSubmodule require a copy of the Git repository.
+ '("TestBomb" "TestFromSubdir" "TestRefgroups"
+ "TestRefSelections" "TestTaggedTags")))))))
+ (native-inputs (list git))
+ (propagated-inputs
+ (list go-github-com-cli-safeexec
+ go-github-com-davecgh-go-spew
+ go-github-com-pmezard-go-difflib
+ go-github-com-spf13-pflag
+ go-github-com-stretchr-testify
+ go-go-uber-org-goleak
+ go-golang-org-x-sync
+ go-gopkg-in-yaml-v3))
+ (home-page "https://github.com/github/git-sizer")
+ (synopsis "Analyze size of a Git repo")
+ (description "Compute various size metrics for a Git repository, flagging
+those that might cause problems or inconvenience.")
+ (license license:expat)))
--
2.43.0
L
L
Ludovic Courtès wrote on 18 Feb 16:09 +0100
(name . Greg Hogan)(address . code@greghogan.com)(address . 68829-done@debbugs.gnu.org)
874je5n713.fsf@gnu.org
Hi,

Greg Hogan <code@greghogan.com> skribis:

Toggle quote (4 lines)
> * gnu/packages/version-control.scm (git-sizer): New variable.
>
> Change-Id: I82a61e364782dabfd59d0e81ff310fa916b5ff23

Applied with the change below (suggested by ‘guix lint’).

Thanks,
Ludo’.
Toggle diff (25 lines)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index ee6cd78107..afef900bbb 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -4028,12 +4028,14 @@ (define-public git-sizer
(string-append (assoc-ref outputs "out")
"/bin/git-sizer")))))
(replace 'check
- (lambda* (#:key import-path #:allow-other-keys)
- (for-each (lambda (test)
- (invoke "go" "test" "-v" "-run" test import-path))
- ;; TestExec and TestSubmodule require a copy of the Git repository.
- '("TestBomb" "TestFromSubdir" "TestRefgroups"
- "TestRefSelections" "TestTaggedTags")))))))
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (when tests?
+ (for-each (lambda (test)
+ (invoke "go" "test" "-v" "-run" test import-path))
+ ;; TestExec and TestSubmodule require a copy of the
+ ;; Git repository.
+ '("TestBomb" "TestFromSubdir" "TestRefgroups"
+ "TestRefSelections" "TestTaggedTags"))))))))
(native-inputs (list git))
(propagated-inputs
(list go-github-com-cli-safeexec
Closed
?