summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2026-06-23 09:32:08 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2026-07-23 21:15:02 +0100
commit1f94e7aecc0f482dae6cbb83fa521bc11ea15d68 (patch)
treea0c7a805e3ca4bdb141ec6b9be36746cdda25d26
parentd0a9d20b3bc9bff4e0387b7aa24d3052b9255533 (diff)
gnu: Add go-go-podman-io-image-v5.
This is a successor of go-github-com-containers-image-v5 package. Note from https://github.com/containers/image: This package was moved; please update your references to use go.podman.io/image/v5 instead. New development of this project happens on https://github.com/containers/container-libs. Where <https://github.com/containers/container-libs> redirects to <https://github.com/podman-container-tools/container-libs>. * gnu/packages/containers.scm (go-go-podman-io-image-v5): New variable. Relates-to: guix/guix#7785
-rw-r--r--gnu/packages/containers.scm134
1 files changed, 134 insertions, 0 deletions
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 06a321aa51a..1ec92e9a04b 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -607,6 +607,140 @@ user_namespaces(7))}. It is used to run containers engines as an
607unprivileged user, known as \"Rootless mode\".") 607unprivileged user, known as \"Rootless mode\".")
608 (license license:asl2.0))) 608 (license license:asl2.0)))
609 609
610(define-public go-go-podman-io-image-v5
611 (package
612 (name "go-go-podman-io-image-v5")
613 (version "5.37.0")
614 (source
615 (origin
616 (method git-fetch)
617 (uri (git-reference
618 (url "https://github.com/podman-container-tools/container-libs")
619 (commit (go-version->git-ref version #:subdir "image"))))
620 (file-name (git-file-name name version))
621 (sha256
622 (base32 "1p115gm6xj71pd00npdz5x3507iq57xmcb7pwmsrbi6fs6khq3f5"))
623 (modules '((guix build utils)
624 (ice-9 ftw)
625 (srfi srfi-26)))
626 (snippet
627 #~(begin
628 (define (delete-all-but directory . preserve)
629 (define (directory? x)
630 (and=> (stat x #f)
631 (compose (cut eq? 'directory <>) stat:type)))
632 (with-directory-excursion directory
633 (let* ((pred
634 (negate (cut member <> (append '("." "..") preserve))))
635 (items (scandir "." pred)))
636 (for-each (lambda (item)
637 (if (directory? item)
638 (delete-file-recursively item)
639 (delete-file item)))
640 items))))
641 (delete-all-but "." "image")
642 ;; This is a workaround to provide a correct import-path.
643 (rename-file "image" "tmp")
644 (mkdir-p "image/v5")
645 (copy-recursively "tmp" "image/v5")
646 (delete-file-recursively "tmp")))))
647 (build-system go-build-system)
648 (arguments
649 (list
650 #:skip-build? #t
651 #:import-path "go.podman.io/image/v5"
652 #:unpack-path "go.podman.io"
653 #:embed-files
654 #~(list "^VERSION$"
655 ;; For go-github-com-santhosh-tekuri-jsonschema-v6:
656 "applicator"
657 "content"
658 "core"
659 "format"
660 "format-annotation"
661 "format-assertion"
662 "meta-data"
663 "schema"
664 "unevaluated"
665 "validation")
666 #:test-flags
667 #~(list "-skip" (string-join
668 ;; Tests try to access local directories: /usr/share,
669 ;; /var/tmp; remote source https://quay.io/v2/,
670 ;; https://registry.suse.com/auth.
671 (list "TestComputeBlobInfo"
672 "TestCreateBigFileTemp"
673 "TestGPGSigningMechanismSign"
674 "TestReferenceNewImage"
675 "TestReferenceNewImageSource"
676 "TestMkDirBigFileTemp"
677 "TestReferencePolicyConfigurationNamespaces"
678 "TestSetupCertificates"
679 "TestSign"
680 "TestSignDockerManifest"
681 "TestSignDockerManifestWithPassphrase"
682 "TestSimpleSignerSignImageManifest"
683 "TestSourcePrepareLayerData")
684 "|"))
685 #:phases
686 #~(modify-phases %standard-phases
687 (add-before 'check 'set-HOME
688 (lambda _
689 (setenv "HOME" "/tmp"))))))
690 (native-inputs
691 (list btrfs-progs
692 eudev
693 gnupg
694 go-github-com-stretchr-testify
695 gpgme
696 libassuan))
697 (propagated-inputs
698 (list go-dario-cat-mergo
699 go-github-com-burntsushi-toml
700 go-github-com-containers-libtrust
701 go-github-com-containers-ocicrypt
702 go-github-com-cyberphone-json-canonicalization
703 go-github-com-distribution-reference
704 go-github-com-docker-cli
705 go-github-com-docker-distribution
706 go-github-com-docker-docker
707 go-github-com-docker-docker-credential-helpers
708 go-github-com-docker-go-connections
709 go-github-com-hashicorp-go-cleanhttp
710 go-github-com-hashicorp-go-retryablehttp
711 go-github-com-klauspost-compress
712 go-github-com-klauspost-pgzip
713 go-github-com-manifoldco-promptui
714 go-github-com-mattn-go-sqlite3
715 go-github-com-opencontainers-go-digest
716 go-github-com-opencontainers-image-spec
717 go-github-com-proglottis-gpgme
718 go-github-com-santhosh-tekuri-jsonschema-v6
719 go-github-com-secure-systems-lab-go-securesystemslib
720 go-github-com-sigstore-fulcio
721 go-github-com-sigstore-sigstore
722 go-github-com-sirupsen-logrus
723 go-github-com-sylabs-sif-v2
724 go-github-com-ulikunitz-xz
725 go-github-com-vbauerster-mpb-v8
726 go-go-etcd-io-bbolt
727 go-go-podman-io-storage
728 go-golang-org-x-crypto
729 go-golang-org-x-oauth2
730 go-golang-org-x-sync
731 go-golang-org-x-term
732 go-gopkg-in-yaml-v3))
733 (home-page "https://go.podman.io")
734 (synopsis "Go library to work in various way with containers' images")
735 (description
736 "@code{image} is a set of Go libraries aimed at working in various way
737with containers' images and container image registries. The
738@code{containers/image} library allows application to pull and push images
739from container image registries, like the docker.io and quay.io registries. It
740also implements \"simple image signing\". It's a successor of
741@url{https://github.com/containers/image} project.")
742 (license license:asl2.0)))
743
610(define-public go-go-podman-io-storage 744(define-public go-go-podman-io-storage
611 (package 745 (package
612 (name "go-go-podman-io-storage") 746 (name "go-go-podman-io-storage")