mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
gnu: Add skopeo.
* gnu/packages/virtualization.scm (skopeo): New variable.
This commit is contained in:
parent
efdaf8def0
commit
7714a06943
1 changed files with 65 additions and 0 deletions
|
@ -45,6 +45,7 @@ (define-module (gnu packages virtualization)
|
|||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
|
@ -52,6 +53,7 @@ (define-module (gnu packages virtualization)
|
|||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages polkit)
|
||||
|
@ -71,6 +73,7 @@ (define-module (gnu packages virtualization)
|
|||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:select (gpl2 gpl2+ gpl3+ lgpl2.1 lgpl2.1+
|
||||
asl2.0))
|
||||
#:use-module (guix packages)
|
||||
|
@ -909,3 +912,65 @@ (define-public umoci
|
|||
"@command{umoci} is a tool that allows for high-level modification of an
|
||||
Open Container Initiative (OCI) image layout and its tagged images.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public skopeo
|
||||
(package
|
||||
(name "skopeo")
|
||||
(version "0.1.28")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/projectatomic/skopeo")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"068nwrr3nr27alravcq1sxyhdd5jjr24213vdgn1dqva3885gbi0"))))
|
||||
(build-system go-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("btrfs-progs" ,btrfs-progs)
|
||||
("eudev" ,eudev)
|
||||
("libassuan" ,libassuan)
|
||||
("libselinux" ,libselinux)
|
||||
("libostree" ,libostree)
|
||||
("lvm2" ,lvm2)
|
||||
("glib" ,glib)
|
||||
("gpgme" ,gpgme)))
|
||||
(arguments
|
||||
'(#:import-path "github.com/projectatomic/skopeo"
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(chdir (string-append "src/" import-path))
|
||||
;; TODO: build manpages with 'go-md2man'.
|
||||
(invoke "make" "binary-local")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "make" "install-binary" "install-completions"
|
||||
(string-append "PREFIX=" out))))))))
|
||||
(home-page "https://github.com/projectatomic/skopeo")
|
||||
(synopsis "Interact with container images and container image registries")
|
||||
(description
|
||||
"@command{skopeo} is a command line utility providing various operations
|
||||
with container images and container image registries. It can:
|
||||
@enumerate
|
||||
|
||||
@item Copy container images between various containers image stores,
|
||||
converting them as necessary.
|
||||
|
||||
@item Convert a Docker schema 2 or schema 1 container image to an OCI image.
|
||||
|
||||
@item Inspect a repository on a container registry without needlessly pulling
|
||||
the image.
|
||||
|
||||
@item Sign and verify container images.
|
||||
|
||||
@item Delete container images from a remote container registry.
|
||||
|
||||
@end enumerate")
|
||||
(license asl2.0)))
|
||||
|
|
Loading…
Reference in a new issue