~ruther/guix-local

bb317f46fca962b58e9e81e646e53ee651fd8d83 — Greg Hogan 2 years ago b177e75
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>
1 files changed, 50 insertions(+), 0 deletions(-)

M gnu/packages/version-control.scm
M gnu/packages/version-control.scm => gnu/packages/version-control.scm +50 -0
@@ 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)))