guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 2eab4775e52c42979d377616f5df27fd751041e5
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Sun Sep 28 02:05:01 2025 +0100

    gnu: Add go-github-com-opencontainers-runtime-tools.
    
    * gnu/packages/golang-xyz.scm (go-github-com-opencontainers-runtime-tools,
    osi-runtime-tool): New variables.
    
    Change-Id: Ic6444e3c2be9467e35f11cda0d502dd666ee69e2
---
 gnu/packages/golang-xyz.scm | 97 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)

diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index e058dcedeb..219640836f 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -16713,6 +16713,60 @@ containers on Linux according to the OCI 
specification.")
 specification-runtime-spec.")
     (license license:asl2.0)))
 
+(define-public go-github-com-opencontainers-runtime-tools
+  (package
+    (name "go-github-com-opencontainers-runtime-tools")
+    (version "0.9.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/opencontainers/runtime-tools";)
+              (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1pli3jb1rq9lkzzz83f7jw788vijg7x6ly3vgasdlwri7kiph1sa"))
+       (snippet
+        #~(begin (use-modules (guix build utils))
+                 (delete-file-recursively "vendor")))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:skip-build? #t
+      ;; XXX: See: 
<https://github.com/opencontainers/runtime-tools/issues/792>.
+      #:tests? #f
+      #:import-path "github.com/opencontainers/runtime-tools"
+      #:build-flags
+      #~(list (format #f "-ldflags=-X ~s"
+                      (string-append "main.version=" #$version)))
+      #:test-flags
+      #~(list "-vet=off"
+              ;; Network is required.
+              "-skip" "TestGenerateValid|TestJSONSchema")))
+    (native-inputs
+     (list go-github-com-mndrix-tap-go
+           go-github-com-stretchr-testify
+           go-github-com-urfave-cli))
+    (propagated-inputs
+     (list go-github-com-blang-semver
+           go-github-com-hashicorp-go-multierror
+           go-github-com-mrunalp-fileutils
+           go-github-com-opencontainers-runtime-spec
+           go-github-com-opencontainers-selinux
+           go-github-com-satori-go-uuid
+           go-github-com-sirupsen-logrus
+           go-github-com-syndtr-gocapability
+           go-github-com-xeipuuv-gojsonschema
+           go-golang-org-x-sys))
+    (home-page "https://github.com/opencontainers/runtime-tools";)
+    (synopsis "OCI Runtime Tools")
+    (description
+     "This package provides a collection of tools for working with the
+@url{https://github.com/opencontainers/runtime-spec, OCI runtime
+specification}.  To build from source code, runtime-tools requires Go 1.10.x
+or above.")
+    (license license:asl2.0)))
+
 (define-public go-github-com-opencontainers-selinux
   (package
     (name "go-github-com-opencontainers-selinux")
@@ -25146,6 +25200,49 @@ tool."))))
     (propagated-inputs '())
     (inputs '())))
 
+(define-public oci-runtime-tool
+  (package/inherit go-github-com-opencontainers-runtime-tools
+    (name "oci-runtime-tool")
+    (arguments
+     (substitute-keyword-arguments
+         (package-arguments go-github-com-opencontainers-runtime-tools)
+       ((#:install-source? _ #t) #f)
+       ((#:skip-build? _ #t) #f)
+       ((#:tests? _ #t) #f)
+       ((#:import-path "github.com/opencontainers/runtime-tools")
+        "github.com/opencontainers/runtime-tools/cmd/oci-runtime-tool")
+       ((#:unpack-path _ "") "github.com/opencontainers/runtime-tools")
+       ((#:phases phases '%standard-phases)
+        #~(modify-phases #$phases
+            (add-after 'install 'install-man-pages
+              (lambda* (#:key unpack-path #:allow-other-keys)
+                (with-directory-excursion (string-append "src/" unpack-path)
+                  (let ((man (string-append #$output "/share/man/man1")))
+                    (mkdir-p man)
+                    (invoke "go-md2man"
+                            "-in" "man/oci-runtime-tool.1.md"
+                            "-out" (string-append man "/oci-runtime-tool.1"))
+                    (invoke "go-md2man"
+                            "-in" "man/oci-runtime-tool-generate.1.md"
+                            "-out" (string-append man 
"/oci-runtime-tool-generate.1"))
+                    (invoke "go-md2man"
+                            "-in" "man/oci-runtime-tool-validate.1.md"
+                            "-out" (string-append man 
"/oci-runtime-tool-validate.1"))))))
+            (add-after 'install 'install-bash-completions
+              (lambda* (#:key unpack-path #:allow-other-keys)
+                (with-directory-excursion (string-append "src/" unpack-path)
+                  (let ((bash (string-append #$output 
"/share/bash-completion")))
+                    (mkdir-p bash)
+                    (copy-file "completions/bash/oci-runtime-tool"
+                                 (string-append bash "/completions"))))))))))
+    (native-inputs
+     (append
+      (modify-inputs (package-native-inputs 
go-github-com-opencontainers-runtime-tools)
+        (append go-md2man))
+      (package-propagated-inputs go-github-com-opencontainers-runtime-tools)))
+    (propagated-inputs '())
+    (inputs '())))
+
 (define-public protoc-gen-validate
   (package
     (inherit go-github-com-envoyproxy-protoc-gen-validate)

Reply via email to