~ruther/guix-local

981601b2c15e8fce43515af80f90a7fe515b4509 — Herman Rimm 1 year, 5 months ago 8e68de2
gnu: Add git-spice.

* gnu/packages/version-control.scm (git-spice): New variable.

Change-Id: Id0936171caa586a98a3c500e6d669baa171f48da
Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
1 files changed, 122 insertions(+), 0 deletions(-)

M gnu/packages/version-control.scm
M gnu/packages/version-control.scm => gnu/packages/version-control.scm +122 -0
@@ 59,6 59,8 @@
;;; Copyright © 2024 Javier Olaechea <pirata@gmail.com>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.


@@ 126,6 128,7 @@
  #:use-module (gnu packages golang-build)
  #:use-module (gnu packages golang-check)
  #:use-module (gnu packages golang-crypto)
  #:use-module (gnu packages golang-vcs)
  #:use-module (gnu packages golang-web)
  #:use-module (gnu packages golang-xyz)
  #:use-module (gnu packages groff)


@@ 980,6 983,125 @@ the date of the most recent commit that modified them
@end itemize")
    (license license:gpl3+)))

(define-public git-spice
  (package
    (name "git-spice")
    (version "0.9.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/abhinav/git-spice")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1yvnd5a3ql905jrxh0sq9sdcfmyq38fsbqx0zbhxbd4rgs8hv5s3"))))
    (build-system go-build-system)
    (arguments
     (list
      #:go go-1.23
      #:import-path "go.abhg.dev/gs"
      #:install-source? #f
      #:test-flags
      #~(list "-skip"
              (string-join
               ;; XXX: Tests failing with various reasons; requiring
               ;; networking config or write access, or outbound access, check
               ;; if some of them may be fixed.
               (list "TestDeviceFlowAuthenticator"
                     "TestScript/auth_detect_forge"
                     "TestScript/auth_explicit_forge"
                     "TestScript/auth_insecure_storage"
                     "TestScript/auth_prompt_forge"
                     "TestScript/branch_split_reassign_submitted"
                     "TestScript/branch_submit_ambiguous_branch"
                     "TestScript/branch_submit_by_name"
                     "TestScript/branch_submit_config_no_publish"
                     "TestScript/branch_submit_create_update"
                     "TestScript/branch_submit_detect_existing"
                     "TestScript/branch_submit_detect_existing_conflict"
                     "TestScript/branch_submit_detect_existing_upstream_name"
                     "TestScript/branch_submit_force_push"
                     "TestScript/branch_submit_long_body"
                     "TestScript/branch_submit_many_upstream_names_taken"
                     "TestScript/branch_submit_multiple_commits"
                     "TestScript/branch_submit_multiple_pr_templates"
                     "TestScript/branch_submit_navigation_.*_out_multiple"
                     "TestScript/branch_submit_needs_restack"
                     "TestScript/branch_submit_no_editor"
                     "TestScript/branch_submit_no_publish"
                     "TestScript/branch_submit_pr_template"
                     "TestScript/branch_submit_pr_template_cache_invalidation"
                     "TestScript/branch_submit_pr_template_no_body"
                     "TestScript/branch_submit_pr_template_prompt"
                     "TestScript/branch_submit_recover_prepared"
                     "TestScript/branch_submit_remote_prompt"
                     "TestScript/branch_submit_rename"
                     "TestScript/branch_submit_rename_base"
                     "TestScript/branch_submit_update_pr_is_closed"
                     "TestScript/branch_submit_update_pr_is_merged"
                     "TestScript/branch_submit_upstream_name"
                     "TestScript/branch_submit_upstream_name_wrong_remote"
                     "TestScript/branch_submit_use_git_editor"
                     "TestScript/branch_submit_web"
                     "TestScript/branch_submit_web_opt_out"
                     "TestScript/downstack_submit"
                     "TestScript/issue369_branch_.*_case_insensitive"
                     "TestScript/issue369_branch_.*_remote_update"
                     "TestScript/issue398_repo_sync_many_merged"
                     "TestScript/repo_sync_after_merging_renamed_branch"
                     "TestScript/repo_sync_detached_head"
                     "TestScript/repo_sync_detect_externally_created_prs"
                     "TestScript/repo_sync_external_pr_head_mismatch"
                     "TestScript/repo_sync_manual_pull_merged_pr"
                     "TestScript/repo_sync_merged_pr"
                     "TestScript/repo_sync_remote_already_deleted"
                     "TestScript/repo_sync_restack"
                     "TestScript/repo_sync_trunk_dirty_tree"
                     "TestScript/repo_sync_trunk_no_prs"
                     "TestScript/repo_sync_unpushed_commits"
                     "TestScript/stack_submit"
                     "TestScript/stack_submit_update_leave_draft"
                     "TestScript/stack_submit_web"
                     "TestScript/upstack_submit_main")
               "|"))))
    (native-inputs
     (list git-minimal ; for tests in testdata/scripts
           go-github-com-alecthomas-kong
           go-github-com-buildkite-shellwords
           go-github-com-charmbracelet-bubbles
           go-github-com-charmbracelet-bubbletea
           go-github-com-charmbracelet-lipgloss
           go-github-com-charmbracelet-log
           go-github-com-cli-browser
           go-github-com-creack-pty
           go-github-com-dustin-go-humanize
           go-github-com-mattn-go-isatty
           go-github-com-rogpeppe-go-internal
           go-github-com-sahilm-fuzzy
           go-github-com-shurcool-githubv4
           go-github-com-stretchr-testify
           go-github-com-tidwall-gjson
           go-github-com-vito-midterm
           go-github-com-xanzy-go-gitlab
           go-github-com-zalando-go-keyring
           go-go-abhg-dev-komplete
           go-go-abhg-dev-requiredfield
           go-go-abhg-dev-testing-stub
           go-go-uber-org-mock
           go-golang-org-x-oauth2
           go-gopkg-in-dnaeon-go-vcr-v4
           go-gopkg-in-yaml-v3
           go-pgregory-net-rapid))
    (home-page "https://go.abhg.dev/gs")
    (synopsis "Manage stacks of Git branches")
    (description
     "git-spice (@code{gs}) is a command line tool for stacking Git branches,
a collection of branches expecting the trunk has a base branch.  It manages
and navigates stacks of branches, conveniently modifies and rebases them also
provides an integration with GitHub and GitLab.")
    (license license:gpl3)))

(define-public got
  (package
    (name "got")