diff options
author | Greg Hogan <code@greghogan.com> | 2024-01-30 20:08:06 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2024-02-18 16:09:38 +0100 |
commit | bb317f46fca962b58e9e81e646e53ee651fd8d83 (patch) | |
tree | bfec9a57e6f1390a730d70364dd010d725c222f3 /gnu/packages/version-control.scm | |
parent | b177e753bbf22c7003b17b916fd61c640952ebb2 (diff) | |
download | guix-bb317f46fca962b58e9e81e646e53ee651fd8d83.tar.gz |
gnu: Add git-sizer.
* gnu/packages/version-control.scm (git-sizer): New variable. Change-Id: I82a61e364782dabfd59d0e81ff310fa916b5ff23 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r-- | gnu/packages/version-control.scm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 51754245d3..afef900bbb 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -4001,3 +4001,53 @@ file into Darcs, Git, Mercurial, Bazaar, Subversion, or CVS repositories. It 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 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 + 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))) |