@@ 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")