diff options
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/packages/containers.scm | 134 |
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 | |||
| 607 | unprivileged user, known as \"Rootless mode\".") | 607 | unprivileged 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 | ||
| 737 | with containers' images and container image registries. The | ||
| 738 | @code{containers/image} library allows application to pull and push images | ||
| 739 | from container image registries, like the docker.io and quay.io registries. It | ||
| 740 | also 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") |
