ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / sk / skopeo / package.nix
blob953b4338f2cacb77e6d53a970b99d8aad4c5083b
1 { lib
2 , stdenv
3 , buildGoModule
4 , fetchFromGitHub
5 , gpgme
6 , lvm2
7 , btrfs-progs
8 , pkg-config
9 , go-md2man
10 , installShellFiles
11 , makeWrapper
12 , fuse-overlayfs
13 , dockerTools
14 , runCommand
15 , testers
16 , skopeo
19 buildGoModule rec {
20   pname = "skopeo";
21   version = "1.17.0";
23   src = fetchFromGitHub {
24     rev = "v${version}";
25     owner = "containers";
26     repo = "skopeo";
27     hash = "sha256-IoYeCGiGOjz+8HPzYPXUWsHADtrWHvJm9YhKeMJJf0k=";
28   };
30   outputs = [ "out" "man" ];
32   vendorHash = null;
34   doCheck = false;
36   nativeBuildInputs = [ pkg-config go-md2man installShellFiles makeWrapper ];
38   buildInputs = [ gpgme ]
39     ++ lib.optionals stdenv.hostPlatform.isLinux [ lvm2 btrfs-progs ];
41   buildPhase = ''
42     runHook preBuild
43     patchShebangs .
44     make bin/skopeo completions docs
45     runHook postBuild
46   '';
48   installPhase = ''
49     runHook preInstall
50     PREFIX=${placeholder "out"} make install-binary install-completions install-docs
51     install ${passthru.policy}/default-policy.json -Dt $out/etc/containers
52   '' + lib.optionalString stdenv.hostPlatform.isLinux ''
53     wrapProgram $out/bin/skopeo \
54       --prefix PATH : ${lib.makeBinPath [ fuse-overlayfs ]}
55   '' + ''
56     runHook postInstall
57   '';
59   passthru = {
60     policy = runCommand "policy" { } ''
61       install ${src}/default-policy.json -Dt $out
62     '';
63     tests = {
64       version = testers.testVersion {
65         package = skopeo;
66       };
67       inherit (dockerTools.examples) testNixFromDockerHub;
68     };
69   };
71   meta = with lib; {
72     changelog = "https://github.com/containers/skopeo/releases/tag/${src.rev}";
73     description = "Command line utility for various operations on container images and image repositories";
74     mainProgram = "skopeo";
75     homepage = "https://github.com/containers/skopeo";
76     maintainers = with maintainers; [ lewo developer-guy ] ++ teams.podman.members;
77     license = licenses.asl20;
78   };