gnu: Add go-github-com-compose-spec-compose-go.

* gnu/packages/docker.scm (go-github-com-compose-spec-compose-go): New variable.

Change-Id: I1d733e591438e5ed5c64ef7a34bf0ec1f9d841a4
Reviewed-by: Arthur Rodrigues <arthurhdrodrigues@proton.me>
This commit is contained in:
Sharlatan Hellseher 2025-10-21 22:21:23 +01:00
parent b48bb87ffe
commit e7bee7fa82
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -49,6 +49,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages linux)
@ -67,6 +68,82 @@
;; of several associated packages (docker-libnetwork and go-sctp).
(define %docker-version "20.10.27")
(define-public go-github-com-compose-spec-compose-go
(package
(name "go-github-com-compose-spec-compose-go")
(version "2.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/compose-spec/compose-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18z626vjd0cbqs130nsqhx0vfr6hxarvwgrw5acydy7hfv594aiq"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Build fails when this file is kept: Code in directory
;; /tmp/<...>/src/github.com/compose-spec/compose-go/v2 expects
;; import "github.com/compose-spec/compose-go"
(delete-file "package.go")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:embed-files
#~(list "applicator"
"content"
"core"
"format"
"format-annotation"
"format-assertion"
"meta-data"
"schema"
"unevaluated"
"validation")
#:import-path "github.com/compose-spec/compose-go/v2"
#:test-flags
#~(list "-skip" (string-join
;; error decoding 'services[test].environment':
;; environment variable DEBUG is declared with a
;; trailing space
(list "TestEnvironmentWhitespace"
;; ports_test.go:80: assertion failed: expected
;; error "Invalid ip address: 127.0.1", got
;; "invalid IP address: 127.0.1"
"Test_transformPorts/invalid_IP"
;; types_test.go:190: assertion failed: expected
;; error "Invalid containerPort: 9999999", got
;; "invalid containerPort: 9999999"
"TestParsePortConfig")
"|"))))
(native-inputs
(list go-github-com-google-go-cmp
go-github-com-stretchr-testify
go-gotest-tools-v3))
(propagated-inputs
(list go-github-com-distribution-reference
go-github-com-docker-go-connections
go-github-com-docker-go-units
go-github-com-go-viper-mapstructure-v2
go-github-com-mattn-go-shellwords
go-github-com-opencontainers-go-digest
go-github-com-santhosh-tekuri-jsonschema-v6
go-github-com-sirupsen-logrus
go-github-com-xhit-go-str2duration-v2
go-go-yaml-in-yaml-v3
go-golang-org-x-sync
go-golang-org-x-text))
(home-page "https://compose-spec.io/")
(synopsis "Reference library for parsing and loading Compose YAML files")
(description
"This package provides a Golang reference library for parsing and
loading Compose files as specified by the
@url{https://github.com/compose-spec/compose-spec, Compose specification}.")
(license license:asl2.0)))
(define-public go-github-com-docker-go-metrics
(package
(name "go-github-com-docker-go-metrics")