summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerman Rimm <herman@rimm.ee>2024-12-03 14:15:07 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-01-21 23:41:51 +0000
commit981601b2c15e8fce43515af80f90a7fe515b4509 (patch)
tree81b4e03c9a376cfeb910820c960661b3aa6d59d3
parent8e68de2d3ae1fe9404f804c692bb0045a2c3c3a9 (diff)
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>
-rw-r--r--gnu/packages/version-control.scm122
1 files changed, 122 insertions, 0 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index fd01e19183..d61d2b13bd 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -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")