1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-13 18:40:57 +02:00
guix/gnu/packages/golang-vcs.scm
Maxim Cournoyer b586469706
gnu: Add go-github-com-jiangxin-goconfig.
* gnu/packages/golang-vcs.scm (go-github-com-jiangxin-goconfig): New variable.

Change-Id: I16784102273da77fb76697c3344e4912e83cb30f
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-06-24 10:26:34 +01:00

460 lines
18 KiB
Scheme
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 David Thompson <davet@gnu.org>
;;; Copyright © 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages golang-vcs)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system go)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages haskell-apps)
#:use-module (gnu packages python-check)
#:use-module (gnu packages version-control))
;;; Commentary:
;;;
;;; Please: Try to add new module packages in alphabetic order.
;;;
;;; Code:
;;;
;;; Libraries:
;;;
(define-public go-code-gitea-io-actions-proto-go-ping
(package
(name "go-code-gitea-io-actions-proto-go-ping")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitea.com/gitea/actions-proto-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0gdrsr7kx20nhp1r54xyrq4gcwxvyzv636bzmsrchikffhq773b6"))))
(build-system go-build-system)
(arguments
(list
#:import-path "code.gitea.io/actions-proto-go/ping/v1"
#:unpack-path "code.gitea.io/actions-proto-go"))
(propagated-inputs (list go-google-golang-org-protobuf
go-connectrpc-com-connect))
(home-page "https://code.gitea.io/actions-proto-go")
(synopsis "Helper for the Gitea Action runner")
(description
"This package provides a helper for the Gitea Action runer.")
(license license:expat)))
(define-public go-code-gitea-io-actions-proto-go-runner
(package
(name "go-code-gitea-io-actions-proto-go-runner")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitea.com/gitea/actions-proto-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0gdrsr7kx20nhp1r54xyrq4gcwxvyzv636bzmsrchikffhq773b6"))))
(build-system go-build-system)
(arguments
(list
#:import-path "code.gitea.io/actions-proto-go/runner/v1"
#:unpack-path "code.gitea.io/actions-proto-go"))
(propagated-inputs (list go-google-golang-org-protobuf
go-connectrpc-com-connect))
(home-page "https://code.gitea.io/actions-proto-go")
(synopsis "Action runner for Gitea")
(description
"This package provides an Action runner for the Gitea forge.")
(license license:expat)))
(define-public go-github-com-git-lfs-pktline
(let ((commit "ca444d533ef1e474d0aab99cdbeed9b048d65241")
(revision "1"))
(package
(name "go-github-com-git-lfs-pktline")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/git-lfs/pktline")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0mxp4c59g5b3y20ilf90b6cagbk2b473vsmdz159y4hssvi1ac7r"))))
(build-system go-build-system)
(arguments `(#:import-path "github.com/git-lfs/pktline"))
(native-inputs
(list go-github-com-stretchr-testify))
(home-page "https://github.com/git-lfs/pktline")
(synopsis "Git pkt-line Go toolkit")
(description
"This package is a Go language toolkit for reading and writing files
using the Git pkt-line format used in various Git operations.")
(license license:expat))))
(define-public go-github-com-go-git-gcfg
(package
(name "go-github-com-go-git-gcfg")
(version "1.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/go-git/gcfg")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lb14z4j35pwz2b2rbykkpsq515spwbndb00gwn2xlrzn949xb83"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/go-git/gcfg"
;; pass; got 10, error <nil>
;; failed to parse "a" as int: expected integer; *ptr==0
#:test-flags #~(list "-skip" "TestParseInt|TestScanFully")))
(propagated-inputs
(list go-github-com-pkg-errors
go-gopkg-in-warnings-v0))
(home-page "https://github.com/go-git/gcfg")
(synopsis "Gcfg reads INI-style configuration files into Go structs")
(description "Gcfg reads INI-style configuration files into Go structs.")
(license license:bsd-3)))
(define-public go-github-com-go-git-go-git-v5
(package
(name "go-github-com-go-git-go-git-v5")
(version "5.13.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/go-git/go-git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1mgzwwmq1awai9n8vkjp8xpq26hvivl53g57f1k2cgg6bkj13r2a"))))
(build-system go-build-system)
(arguments
(list
#:tests? #f ;requires network connection
#:import-path "github.com/go-git/go-git/v5"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'setup
(lambda* (#:key inputs #:allow-other-keys)
(let* ((git #$(this-package-native-input "git-minimal"))
(git-bin (string-append git "/bin"))
(git-exe (string-append git-bin "/git")))
(setenv "GIT_DIST_PATH=" git)
(setenv "GIT_EXEC_PATH=" git-bin)
(setenv "HOME" (getcwd))
(invoke git-exe "config" "--global" "user.email" "gha@example.com")
(invoke git-exe "config" "--global" "user.name" "GitHub Actions")))))))
(native-inputs
(list git-minimal/pinned
go-github-com-stretchr-testify
go-gopkg-in-check-v1))
(propagated-inputs
(list go-dario-cat-mergo
go-github-com-armon-go-socks5
go-github-com-elazarl-goproxy
go-github-com-emirpasic-gods
go-github-com-gliderlabs-ssh
go-github-com-go-git-gcfg
go-github-com-go-git-go-billy-v5
go-github-com-go-git-go-git-fixtures-v4
go-github-com-golang-groupcache
go-github-com-google-go-cmp
go-github-com-jbenet-go-context
go-github-com-kevinburke-ssh-config
go-github-com-pjbgf-sha1cd
go-github-com-protonmail-go-crypto
go-github-com-sergi-go-diff
go-github-com-skeema-knownhosts
go-github-com-xanzy-ssh-agent
go-golang-org-x-crypto
go-golang-org-x-net
go-golang-org-x-sys
go-golang-org-x-text))
(home-page "https://github.com/go-git/")
(synopsis "Git implementation library")
(description "This package provides a Git implementation library.")
(license license:asl2.0)))
(define-public go-github-com-jiangxin-goconfig
(package
(name "go-github-com-jiangxin-goconfig")
(version "1.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jiangxin/goconfig")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0dgmwa8dzzafxcpd4j5vmdfmqn2xvah3qd9rfnihywiw45748hg1"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/jiangxin/goconfig"))
(native-inputs
(list git-minimal/pinned
go-github-com-jiu2015-gotestspace
go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-golang-groupcache
go-github-com-spf13-pflag))
(home-page "https://github.com/jiangxin/goconfig")
(synopsis "Go parsing library for .gitconfig files")
(description
"@code{goconfig} is a Go library for parsing configuration files that
have the same syntax as @file{.gitconfig} files. It understands multiple
values configuration, and can parse configurations include via
@code{include.path} directives. @code{includeIf.*.path} directives are not
supported yet.")
(license license:gpl2+)))
;; TODO: Delete all node_modules in pkg/runner/testdata/actions.
(define-public go-github-com-nektos-act
(package
(name "go-github-com-nektos-act")
(version "1.24.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://code.forgejo.org/forgejo/act.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0fk5l44jycyzzlvxr0312ayns1rl15vl2kjc6nh726sjlghpa0d7"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.23
#:import-path "github.com/nektos/act"
#:embed-files #~(list ".*\\.json")
#:test-flags
#~(list "-skip" (string-join
;; Network access is required.
(list "TestArtifactFlow/GHSL-2023-004"
"TestArtifactFlow/upload-and-download"
"TestFindGitRemoteURL"
"TestGitCloneExecutor"
"TestGitFindRef"
"TestHandler_gcCache"
"TestImageExistsLocally"
"TestHandler"
"TestJobExecutor"
;; Running Docker is required.
"TestDocker"
;; Something else...
"TestActionCache"
"TestInterpolate"
"TestRunContext_EvalBool"
"TestDryrunEvent"
"TestEvaluateRunContext/toJSON"
"TestEvaluateRunContext/toJson"
"TestGetGitHubContext"
"TestMaskValues"
"TestRunActionInputs"
"TestRunDifferentArchitecture"
"TestRunEvent"
"TestRunEventHostEnvironment"
"TestRunEventPullRequest"
"TestRunEventSecrets"
"TestRunMatrixWithUserDefinedInclusions"
"TestRunSkipped"
"TestRunWithService"
"TestSetupEnv"
"TestStepActionRemotePreThroughActionToken")
"|"))
#:phases
#~(modify-phases %standard-phases
;; The buildkit dependency tree is *massive* and the only thing
;; that's used is the dockerignore module, which is just an alias to
;; github.com/moby/patternmatcher which this library already depends
;; on!
(add-after 'unpack 'fix-dockerignore
(lambda _
(substitute* "src/github.com/nektos/act/pkg/container/docker_build.go"
(("\"github.com/moby/buildkit/frontend/dockerfile/dockerignore\"")
"dockerignore \"github.com/moby/patternmatcher/ignorefile\"")))))))
(native-inputs
(list go-github-com-go-git-go-billy-v5
go-github-com-stretchr-testify
go-gotest-tools-v3))
(propagated-inputs
(list go-dario-cat-mergo
go-github-com-adrg-xdg
go-github-com-alecaivazis-survey-v2
go-github-com-andreaskoch-go-fswatch
go-github-com-creack-pty
go-github-com-distribution-reference
go-github-com-docker-cli
go-github-com-docker-distribution
go-github-com-docker-docker
go-github-com-docker-go-connections
go-github-com-go-git-go-git-v5
go-github-com-gobwas-glob
go-github-com-golang-jwt-jwt-v5
go-github-com-imdario-mergo
go-github-com-joho-godotenv
go-github-com-julienschmidt-httprouter
go-github-com-kballard-go-shellquote
go-github-com-masterminds-semver
go-github-com-mattn-go-isatty
go-github-com-moby-patternmatcher
go-github-com-opencontainers-image-spec
go-github-com-opencontainers-selinux
go-github-com-pkg-errors
go-github-com-rhysd-actionlint
go-github-com-sabhiram-go-gitignore
go-github-com-sirupsen-logrus
go-github-com-spf13-cobra
go-github-com-spf13-pflag
go-github-com-timshannon-bolthold
go-go-etcd-io-bbolt
go-golang-org-x-term
go-google-golang-org-protobuf
go-gopkg-in-yaml-v3))
(home-page "https://github.com/nektos/act")
(synopsis "Run GitHub Actions locally")
(description
"Helper tool to run @url{https://developer.github.com/actions/,GitHub
Actions} locally.")
(license license:expat)))
(define-public go-github-com-rhysd-actionlint
(package
(name "go-github-com-rhysd-actionlint")
(version "1.7.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rhysd/actionlint")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xbsrcvklxn0lppikabwrizav945jk85d0mz16zc3spxc80plrvn"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/rhysd/actionlint"
;; Several tests try to download stuff from raw.githubusercontent.com;
;; skip them.
#:test-flags #~(list "-skip"
(string-join
'("TestMain" ;XXX: segfaults
"TestUpdate" ;XXX: segfaults
"TestFetchRemoteYAML"
"TestWriteOutdatedActionAsJSONL"
"TestDetectNewRelease"
"TestDetectNoRelease"
"TestCouldNotFetch"
"TestDetectErrorBadRequest"
"TestFetchOK"
"TestFetchError/not_found")
"|"))))
(native-inputs
;; Test dependencies.
(append
(list python-pyflakes)
(if (supported-package? shellcheck)
(list shellcheck)
'())))
(propagated-inputs
(list go-gopkg-in-yaml-v3
go-golang-org-x-sys
go-golang-org-x-sync
go-github-com-yuin-goldmark
go-github-com-robfig-cron-v3
go-github-com-mattn-go-shellwords
go-github-com-mattn-go-runewidth
go-github-com-mattn-go-colorable
go-github-com-google-go-cmp
go-github-com-fatih-color
go-github-com-bmatcuk-doublestar-v4))
(home-page "https://github.com/rhysd/actionlint")
(synopsis "Statically check GitHub Action workflow files")
(description
"Package @code{actionlint} is the implementation of actionlint linter.
It's a static checker for GitHub Actions workflow files.")
(license license:expat)))
(define-public go-github-com-xanzy-go-gitlab
(package
(name "go-github-com-xanzy-go-gitlab")
(version "0.114.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xanzy/go-gitlab")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "136iik1pqggdk2z3yz4wh5z05wp9sb6j1rpbf33bjn5djqxcxbbf"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/xanzy/go-gitlab"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-google-go-querystring
go-github-com-hashicorp-go-cleanhttp
go-github-com-hashicorp-go-retryablehttp
go-golang-org-x-oauth2
go-golang-org-x-time))
(home-page "https://github.com/xanzy/go-gitlab")
(synopsis "GitLab Go SDK")
(description
"This package provides a GitLab API client enabling Go programs to
interact with GitLab in a simple and uniform way.")
(license license:asl2.0)))
;;;
;;; Executables:
;;;
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above in alphabetic order.
;;;